全国计算机二级C语言上机题库—南开100题.docx
《全国计算机二级C语言上机题库—南开100题.docx》由会员分享,可在线阅读,更多相关《全国计算机二级C语言上机题库—南开100题.docx(210页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一套L请补充fun函数,fun函数的功能是求m的阶乘。请勿改动主函数main与其他函数中的任何内容,仅在fun函数的横线上填写所需的若干表达式或语句。 注意:部分源程序给出如下。# include long fun(int m) 【答案及难度指数】(1) ml ( 2 ) m-1 (3)12.下列给定程序的功能是:读入一个整数n (2nW5OOO),打印它的所有为素数的因子。例如,若输入整 数1234,则应输出:2、617o请修改程序中的错误,使程序能得出正确的结果。注意:不要改动main函数,不能增行或删行,也不能更改程序的结构。 # include # include /*error*/
2、 Prime(int m); int j,p; P=l;for(j=2;jm;j+) if(!(m%j) IP=0; break; return(p);)main() int i,n;printf(nplease enter an integer number between 2 and 5000:); scanf(%dn,&n);printf(nnThe prime factor (s) of %d is(are):0,n); for(i=2;in;i+)if (!(n%i) & (Prime(i) printf ( %4dz n,i);printf (n);)【答案及难度指数】(1) Pr
3、ime (int m) (2 ) if (! (m% j)3.数组point中存放着m个人的成绩,请编写函数fun,它的功能是:返回高于平均分的人数,并将高于平均 分的分数放在high所指的数组中。例如,当poim数组中的数据为50、60、65、70、75、80、88、90、95时,函数返回的人数应该是5, high 中的数据应为75、80、88、90、95。请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 注意:部分源程序给出如下。# include # include # include int fun(int point,int n,int h
4、igh) main () (int j,m,high9;int point9=50,60,65,70,75,80, 88,90,95;FILE *out;m=fun(point,9,high);printf(nHigh the average point are :); out=fopen(outfile.dat,nwn);for(j=0;jm;j+) (printf(%d ,highj);fprintf(out,%dn0,highj); )fclose (out);【答案及难度指数】int j,k=0r average=0;for(j=0;jn;j+) average+=point j ;
5、/统计总分数 average/=n; /求平均分for(j=0;javerage)/逐个判断每个分数是否大于平均分 (highk=point j;/将高于平均分的人放入high数蛆 k+; 统计大于平均分的人数return k; 第一查L请补充fun函数,该函数的功能是:判断一个年份是否为闰年。 例如,2007年不是闰年,2008是闰年。请勿改动主函数main与其他函数中的任何内容,仅在fun函数的横线上填写所需的若干表达式或语句。 注意:部分源程序给出如下。# include # include int fun(int n) (int flag=0;if (n%4=0)if (1)flag=
6、l;if (一2一) flag=l;3.returnmain ()【答案及难度指数】(1 ) n%100!=0 (2) n%400=0( 3 ) flag2 .下列给定程序中,fun函数的功能是:根据形参n,计算如下公式的值。 ,11112 3 4n例如,若输入5,则应输出2.28333。请修改程序中的错误或在横线处填上适当的内容并把横线删除,使它能计算出正确的结果。 注意:不要改动main函数,不能增行或删行,也不能更改程序的结构。# include # include double fun(int n) |double s=l.0;int i;/*error*/for(i=2;i=n;i+
7、)s+=l. 0/k;/*error*/一填空一main()|int n;printf(nplease enter 1 integer numbers:n);scanf(%dn,&n);printf(nnthe result is %lfn,fun(n);)【答案及难度指数】(1) s+=l.0/i;(2 ) return s;3.请编写函数fun,它的功能是:求出1到500之内能被7或11整除,但不能同时被7和11整除的所有整数,并 将它们放在b所指的数组中,通过m返回这些数的个数。请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 注意:部分源程序
8、给出如下。# include # include void fun(int *b,int *m)main ()int a500i;FILE *out;fun(a,&m);out=fopen(outfile.dat,w);for(i=0;im;i+)if(i+l)%10=0)printf (*%5dn, a i);fprintf(out,ndn,ai);else(printf(n%5dz n,ai);fprintf(out,%d,ai);fclose (out);int n;printf(nplease enter 1 integer numbers:n);scanf(,&n);printf(n
9、nthe result is %lfnMr fun(n);【答案及难度指数】int j,k=0;for( j=2; j500; j+) 循环条件if(j%7=0|j%ll=0)&j%77!=0)/判断是否符合题干要求bk+=j; /将结果放入数组b*m=k; /将累加器值赋值给m第三套1.函数fun的功能是:从三个形参x、y、z中找出中间的那个数,作为函数值返回。例如,当x=121, y=456, z=333时,中间的数为333。请勿改动主函数main与其他函数中的任何内容,仅在fun函数的横线上填写所需的若干表达式或语句。注意:部分源程序给出如下。# include int fun (int
10、 a,int b,int c)int temp;temp=(ab) ? (bc ? b : (ac ? c : 1):(ac) ? 2 :(bc) ? c : 3);return temp;main ()(int x=121,y=4 56r z=333,mid;mid=fun(x,y,z);printf(nThe middle number is : %dnn,mid);)【答案及难度指数】(1) a(2 ) a (3 ) b2.下列给定程序中,函数fun和quest的功能是:用二分法求方程2乂34+3乂-6=0的一个根,并要求绝对误差 不超过0.001。例如,若给m输入-50,给n输入30,
11、则函数求得的一个根值为2.000。请修改程序中的错误,得出正确的结果。注意:不要改动main函数,不能增行或删行,也不能更改程序的结构。 # include # include double quest(double x) (return (2*x*x*x-4*x*x+3*x-6);double fun(double m,double n) /*error*/ int r;r=(m+n)/2;/*error*/ while(fabs(n-m)0.001) (if(quest(r)*quest(n)0.001)3.请编写函数voidfun(inty, int b, int*m),它的功能是:求出
12、能整除y且是奇数的各整数,并按从小到大 的顺序放在b所指的数组中,这些除数的个数通过形参m返回。例如,若y中的值为90,则有4个数符合要求,它们是1、3、5、9、15、45。请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 注意:部分源程序给出如下。# include # include void fun(int y,int b,int *m) main () (int y, a 500,j;FILE *out;printf (XnPlease input an integer number:nn); scanf(”d”,&y);fun(y,a,&m
13、);for(j=0;jm;j+) printf(%d ,aj);printf(n); fun(730,a,&m);out=fopen(outfile.dat,nw);for(j=0;jm;j+)fprintf(out,%dnM, aj ); fclose(out);)【答案及难度指数】 int j=l,i=0,k=0,*s=b; for(j=0;j=y; j+)if ( j%2! =0)/判断j是否是奇数s i = j; /将小于y的奇数存入数组s i+;/累力口小于y的奇数个数)for(j=0;ji;j+)if (y%s j =0) /判断y是否被s j 整除 (b k =s j ; 将符合
14、条件的结果存入数组b k+; /累加符合条件的结果个数)*m=k; 第四套1 .请补充函数fun(char*t),该函数的功能是把字符串中的内容逆置。例如,字符串中原有的字符串为ABCDE,则调用该函数后,串中的内容为EDCBA.请勿改动主函数main与其他函数中的任何内容,仅在fun函数的横线上填写所需的若干表达式或语句。 注意:部分源程序给出如下。# include # include # include # define M 60 void fun(char *t)int j,m=strlen(t)-1;char s;for (j=0; jm; j + + ,1)(s=t j;2;一3一
15、;) ) main () (char bM;printf(Input a string:0);gets(b);printf(The original string is:);puts(b);fun(b);printf(MnM);printf(MThe reversal string : n); puts(b);)【答案及难度指数】(1) m (2 ) t j=t m (3)tm=s2下列给定程序中,函数fun的功能是:判断字符ch是否与s所指串中的某个字符相同,若相同,则什么也不 做:若不同,则将其插在串的最后。请修改程序中的错误,使它能得出正确的操作。注意:不要改动main函数,不能增行或删
16、行,也不能更改程序的结构。 # include # include # include /*error*/ void fun(char s,char c) while (*s & *s!=c) s+;/*error*/ if (*s=1c *) s0=c;/*error*/ sl=*0;) ) main () char str81,ch;printf(n Please enter a string:n);gets (str);printf(n Please enter the character to search:M);ch=getchar(); fun(str,ch);printf(wnT
17、he result is %snM,str); 【答案及难度指数】(1) void fun(char *s,char c)(2) if(*s=0,)(3)sl = 0;请编写函数fun,函数的功能是求出二维数组周边元素之和,作为函数值返回。二维数 组中的值在主函数中赋予。(3) 如,若二维数组中的值为:3 5 7 99 9 9 49 9 9 8 则函数值为72。请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 注意:部分源程序给出如下。# include # include # define M 3 # define N 4 int fun(int
18、bMN)main () int aM N = 3, 5, 7, 9, 9, 9, 9, 4 , 9,9,9,8;int i,j,sum;FILE *out;printf(The original data is : nM); for(i=0;iM;i+) for(j=0;jN;j+)printf(%6dnzaij); printf(n);)sum=fun(a);printf(MnThe sum: %dn,sum);printf(n);out=fopen(Moutfile.dat,w); fprintf(out,M%dM,sum);fclose (out); )【答案及难度指数】int i,j,
19、s=0;for (j=0; jN; j+)统计行元素s+=b0j; s+=bM-lj;)for (i = l; i=M-2; i+) /统计列元素 s+=bi0; s+=biN-l; )return s; 第五套L请补充main函数,该函数的功能是:从键盘输入一个长整数,如果这个数是负数,则取它的绝对值,并 显示出来。例如,输入:-666,结果为:666o仅在横线上填写所需的若干表达式或语句,请勿改动函数中的其他任何内容。 注意:部分源程序给出如下。 # include # include main ()long int a;printf(Enter the data:n);scanf (1)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国计算机 二级 语言 上机 题库 南开 100
限制150内