详细计算机二级C语言上机题库.资料大全及其答案(100套.)

上传人:新*** 文档编号:93785014 上传时间:2019-07-28 格式:DOC 页数:493 大小:3.16MB
返回 下载 相关 举报
详细计算机二级C语言上机题库.资料大全及其答案(100套.)_第1页
第1页 / 共493页
详细计算机二级C语言上机题库.资料大全及其答案(100套.)_第2页
第2页 / 共493页
详细计算机二级C语言上机题库.资料大全及其答案(100套.)_第3页
第3页 / 共493页
详细计算机二级C语言上机题库.资料大全及其答案(100套.)_第4页
第4页 / 共493页
详细计算机二级C语言上机题库.资料大全及其答案(100套.)_第5页
第5页 / 共493页
点击查看更多>>
资源描述

《详细计算机二级C语言上机题库.资料大全及其答案(100套.)》由会员分享,可在线阅读,更多相关《详细计算机二级C语言上机题库.资料大全及其答案(100套.)(493页珍藏版)》请在金锄头文库上搜索。

1、计算机二级 c 语言上机题库及答案内部资料,切勿外传!填空题.第 1 套请补充 FUN 函数,FUN 函数的功能是求 10 的阶乘。 注意:部分源程序给出如下。请勿改动主函数 main 和其他函数中的任何内容,仅在 fun 函数的横线上填入所编写的若干表达式或语句。 试题程序:#include long fun(intn)if (1)return (n*fun(2); return3;main()printf(10!=%ldn, fun(10);第 1 处填空:n1 或 1n第 2 处填空:n-1第 3 处填空:1 或 11 或 1L改错题下列给定程序的功能是:读入一个整数 K(2=K=100

2、00),打印它的所有因子(即所有为素数的因子)。例如,若输入整数 2310,则应输出:2、3、5、7、11。请改正程序中的错误,使程序能得出正确的结果。注意:不要改动 main 函数,不得增行或删行,也不得更改程序 的结构!试题程序:#include #include /*found*/ IsPrime(intn);inti, m; m = 1;/*found*/ for (i=2; in; i+)if !(n%i)m = 0;break;return(m);main()intj, k;printf(nplease enter an integer number between 2 and 1

3、0000:);scanf(%d, &k);printf(nnThe prime factor(s) of %d is(are):, k); for (j=2; jk; j+)if (!(k%j) & (IsPrime(j) printf( %4d, j);printf(n);第 1 处:Isprime(int n);应改为 Isprime(int n) 第 2 处:if !(n%i)应该为 if(!(n%i)编程题M 个人的成绩存放在 score 数组中,请编写函数 fun,它的 功能是:返回低于平均分的认输,并将低于平均分的分数放在below 所指的数组中。例如,当 score 数组中的数据

4、为 10、20、30、40、50、60、 70、80、90 时,函数返回的认输应该是 4,below 中的数据应我 10、20、30、40。 注意:部分源程序给出如下。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入所编写的若干语句。试题程序:#include #include #include int fun(int score,int m, int below)main()int i,n,below9;int score9=10,20,30,40,50,60,70,80,90;FILE *out; n=fun(score,9,below);printf(n

5、Below the average score are :);out=fopen(out.dat, w); for(i=0;in;i+)printf(%d ,belowi);fprintf(out, %dn, belowi);fclose(out);答案是:int fun(int score, intm, intbelow)int I, k=0,aver=0; for(i=0;im;i+) aver+=scorei;aver/=m;for(i=0;im;i+) if(scoreiaver)belowk=scorei; k+;return k;填空题第 2 套请在函数 FUN 的横线上填写若干表

6、达式,使从键盘上输入一个整数 N,输出斐波纳契数列。斐波纳契数列是一种整数数列, 其中每数等于前面两数之和,如:0 1 1 2 3 5 8 13.请勿改动主函数 main 和其他函数中的任何内容,仅在 fun 函数 的横线上填入所编写的若干表达式或语句。试题程序:#include int fun(intn);main()inti, n = 0; scanf(%d, &n); for (i=0; in; i+)printf(%d, fun(i);int fun(intn)if (1) return 0;else if (2) return 1;elsereturn3;第 1 处填空:n=0 或

7、0=n 或!n第 2 处填空:n=1 或 1=n第 3 处填空:fun(n-1)+fun(n-2)或 fun(n-2)+fun(n-1)改错题下列给定程序中,函数 FUN 的功能是:逐个比较 a、b 两 个字符串对应位置中的字符,把 ASCII 值大或相等的字符依次存放到 c 数组中,形成一个新的字符串。例如,若 a 中的字符串为aBCDeFgH,b 中的字符串为:ABcd,则 c 中的字符串应为: aBcdeFgH。请改正程序中的错误,使程序能得出正确的结果。注意:不要改动 main 函数,不得增行或删行,也不得更改 程序的结构!试题程序:#include #include void fun

8、(char*p, char*q, char*c)/*found*/intk = 1;/*found*/ while (*p != *q)if (*p *q) ck = *q;elseck = *p; if (*p)p+;if (*q)q+; k+;main()chara10 = aBCDeFgH, b10 = ABcd, c80 =0;fun(a, b, c); printf(The string a:); puts(a);printf(The string b:); puts(b);printf(The result:); put s(c);第 1 处:int k=1 应改为 int k=0

9、;第 2 处:while(*p!=*q)应改为 while(*p|*q)编程题请编写函数 fun,它的功能是:求出 1 到 1000 之内能被 7或 11 整除、但不能同时被 7 或 11 整除的所有整数并将它们放 在 a 所指的数组中,通过 n 返回这些数的个数。注意:部分源程序给出如下。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入所编写的若干语句。试题程序:#include #include void fun(int *a,int *n)main()int aa1000,n,k; FILE *out; fun(aa,&n);out=fopen(out.

10、dat, w);for(k=0;kn;k+) if(k+1)%10=0)printf(%5dn,aak);fprintf(out, %dn, aak);elseprintf(%5d,aak);fprintf(out, %d, aak);fclose(out);答案是:void fun(int *a,int *n)int i,j=0; for(i=2;i1000;i+)if( (i%7=0|i%11=0)&i%77!=0)a j+=i;*n=j;第 3 套 填空题请补充函数 FUN(CHAR *S),该函数的功能是把字符串中的 内容逆置.例如:字符串中原有的字符串为 abcde,则调用该函数后,

11、串中的内容为 edcba.请勿改动主函数 main 和其他函数中的任何内容,仅在 fun 函数的横线上填入所编写的若干表达式或语句。试题程序:#include #include #include #defineN 81 void fun(char*s)inti, n = strlen(s)-1; char t;for (i=0; in; i+,1)t = si; 2; 3;main()charaN; printf(Enter a string:); gets(a);printf(The original string is:);puts(a);fun(a);printf(n);printf(T

12、he string after modified:); puts(a);第 1 处填空:n-或-n 或 n-=1 或 n=n-1第 2 处填空:si=sn或*(s+i)=*(s+n) 第 3 处填空:sn=t 或*(s+n)=t改错题下列给定的程序中,函数 fun 的功能是:依次取出字符串中 所以数字字符,形成新的字符串,并取代原字符串。请改正函数 fun 中的错误,使程序能得出正确的结果。注意:不要改动 main 函数,不得增行或删行,也不得更改 程序的结构!试题程序:#include #include void fun(char*s)inti, j;/*found*/for (i=0, j=0; si!=0; i+)if (sj=0 & si=9) sj = si;/*found*/sj = 0;main()

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 专业基础教材

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号