设为首页 加入收藏

TOP

C语言编程笔试题(第三十五套)
2014-11-24 01:20:14 来源: 作者: 【 】 浏览:6
Tags:语言编程 试题 第三十五

编程题:


57.学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。


例如,输入的分数是60和69, 则应当把分数在60到69的学生数据进行输出,包含60分和69分的学生数据。主函数中将把60放在low中,把69放在heigh中。


注意:部分源程序给出如下。


请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的


若干语句。


#include


#define N 16



typedef struct


{


char num[10];


int s;


} STREC;



int fun ( STREC *a, STREC *b, int l, int h )


{



}



main ()


{


STREC s[N]= {{“GA005″,85}, {“GA003″,76}, {“GA002″,69}, {“GA004″,85},


{“GA001″,96}, {“GA007″,72}, {“GA008″,64}, {“GA006″, 87},


{“GA015″,85}, {“GA013″,94}, {“GA012″,64}, {“GA014″,91},


{“GA011″,90}, {“GA017″,64}, {“GA018″,64}, {“GA016″,72}};


STREC h[N],tt;


FILE *out;


int i,j,n, low, heigh, t;


printf ( “Enter 2 integer number low & heigh : “);


scanf (“%d%d”, &low, &heigh );


if ( heigh < low )


{


t=heigh;


heigh=low;


low=t;


}


n=fun (s, h, low , heigh );


printf ( “The student ‘s data between %d—-%d : \n”, low, heigh );


for (i=0; i

printf (“%s %4d\n”, h[i]. num, h[i]. s);


printf ( “\n” );


out=fopen (“out18.dat”, “w”);


fprintf ( out, “%d\n”, n );


n=fun ( s, h, 80, 98 );


for (i=0; i

for (j=i+1; j

if(h[i].s>h[j].s)


{


tt=h[i] ;


h[i]=h[j];


h[j]=tt;


}


for(i=0;i

fprintf (out, “%4d\n”, h[i]. s);


fprintf ( out, “\n” );


fclose ( out );


}



60.请编写函数fun,该函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。


例如,若一维数组中的数据是:


2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10。


删除后,数组中的内容应该是:


2 3 4 5 6 7 8 9 10。


注意:部分源程序给出如下。


请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。


# include


# define N 80


int fun(int a[], int n)


{


}



main()


{


int a[N]={2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10,10}, i,n=20;


printf(“The original data :\n”);


for(i=0; i

printf(“%3d”,a[i]);


n=fun(a,n);


printf(“\n\nThe data after deleted :\n”);


for(i=0;i

printf(“%3d”,a[i]);


printf(“\n\n”);


}



改错题:


90.下列给定程序中,函数fun的功能是:计算n的5次方的值(规定n的值大于2、小于8),通过形参指针传回主函数;并计算该值的个位、十位、百位上数字之和作为函数值返回。例如,7的5次方是16807,其低3位数的和值是15。


请改正函数fun中的错误,使它能得出正确的结果。


注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!


试题程序:


#include


#include



int fun(int n ,int *value)


{


int d,s,i;


/********found********/


d=0;


/********found********/


s=1;


for(i=1; i<=5; i++)


d=d*n;


*value=d;


for(i=1; i<=3; i++)


{


s=s+d%10;


/********found********/


s=s/10;


}


return s;


}


main()


{


int n, sum, v;


do


{


printf(“\nEnter n(2

scanf(“%d”,&n);


}


while(n<=2 || n>=8);


sum=fun(n,&v);


printf(“\n\nThe result:\n value=%d sum=%d\n\n”,v,sum);


}




93.下列给定程序中,函数fun的功能是:用下面的公式求π的近似值,直到最后一项


的绝对值小于指定的数(参数num)为止:


π 1 1 1


-≈ 1- - + - – - +…


4 3 5 7



例如,程序运行后,输入0.0001,则程序输出3.1414。


请改正程序中的错误,使它能输出正确的结果。


注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!


试题程序:


#include


#include



float fun(float num)


{


int s;


float n,t,pi;


t=1;


pi=0;


n=1;


s=1;


/********found********/


while (t>=num)


{


pi=pi+t;


n=n+2;


s=-s;


/********found********/


t=s%n;


}


pi=pi*4;


return pi;


}



main( )


{


float n1,n2;


clrscr();


printf(“Enter a float number: “);


scanf(“%f”, &n1);


n2=fun(n1);


printf(“%6.4f\n”, n2);


}


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C语言编程笔试题(第三十四套) 下一篇C语言编程笔试题(第三十六套)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: