2013年9月计算机二级C语言上机题库及答案(破译版).doc

2013年9月计算机二级C语言上机题库及答案(破译版).doc

  1. 1、本文档共226页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2013年9月计算机二级C语言上机题库及答案(破译版).doc

2013年9月计算机二级c语言上机题库 内部资料,切勿外传! .第1套 填空题 请在函数FUN的横线上填写若干表达式,使从键盘上输入一个整数N,输出斐波纳契数列。斐波纳契数列是一种整数数列,其中每数等于前面两数之和,如:0 1 1 2 3 5 8 13….. 请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。 试题程序: #include stdio.h int fun(int n); main() { int i, n = 0; scanf(%d, n); for (i=0; in; i++) printf(%d , fun(i)); } int fun(int n) { if (___1___) return 0; else if (___2___) return 1; else return ___3___; } 第1处填空:n==0或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 stdio.h #include string.h void fun(char *p, char *q, char *c) { /********found********/ int k = 1; /********found********/ while (*p != *q) { if (*p *q) c[k] = *q; else c[k] = *p; if (*p) p++; if (*q) q++; k++; } } main() { char a[10] = aBCDeFgH, b[10] = ABcd, c[80] = {\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; 第2处:while(*p!=*q)应改为while(*p||*q) 编程题 请编写函数fun,它的功能是:求出1到1000之内能被7或11整除、但不能同时被7或11整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序:#include conio.h #include stdio.h void fun(int *a,int *n) { } main() { int aa[1000],n,k; FILE *out; fun(aa,n); out=fopen(out.dat, w); for(k=0;kn;k++) if((k+1)%10==0) { printf(%5d\n,aa[k]); fprintf(out, %d\n, aa[k]); } else { printf(%5d,,aa[k]); fprintf(out, %d,, aa[k]); } 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; } 第2套 填空题 请补充FUN函数,FUN函数的功能是求10的阶乘。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容, 仅在fun函数的横线上填入所编写的若干表达式或语句。 试题程序: #include stdio.h long fun(int n) { if (___1___) return (n*fun(___2___)); return ___3___; } main() { printf(10!=%ld\n, fun(10)); } 第1处

您可能关注的文档

文档评论(0)

ziyouzizai + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档