全国计算机等级考试二级C历届上机真题.docx
《全国计算机等级考试二级C历届上机真题.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级C历届上机真题.docx(354页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、全国计算机等级考试二级C历届上机真题第1套 填充题 请补充fun函数,fun函数的功能是求n的阶乘。 注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干 表达式或语句。关键词:典型算法,递归#include long fun(int n) ( if(_1_) return (n*fun(2);return 3; main 0 (printf (T0!=%ldn,fun(10); )填充题答案 nl Kn n-1 1 ll IL填充题+答案ttinclude long fun(int n) ( if (n 1) return (n*fu
2、n(n-l); return 1; ) mainO ( printf(10!=%ldn”, fun(10); 改错题下列给定程序的功能是:读入一个整数k(2=k=10000),打印它的所有质因子(即所有为 素数的因子)。例如,若输入整数2310,则应输出:2、3, 5, 7, Ik 请改正程序中的错误,使程序能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 关键词:语法,典型算法#include include /*found*/ IsPrime(int n);( int i, m;m = 1;/*found*/ for (i=2; in; i+) if !
3、 (n%i) (m = 0; break;return(m); main () ( int j, k;printf(*nplease enter an integer number between 2 and 10000:*); 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);)改错题答案 UsPrime ( int n ) 2if (!(n%i) 改错题+答案 #include inclu
4、de /*found*/ IsPrime(int n) int i, m;m = 1;/*found*/ for (i=2; in; i+) if (! (n%i)m = 0;break;)return(m);main ()(int j, k;printf(*nplease enter an integer number between 2 and 10000:*);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,
5、 j);printf(n);编程题m个人的成绩存放在score数组中,请编写函数fun,它的功能是:返回低于平均分的人数, 并将低于平均分的分数放在below所指的数组中。例如,当score数组中的数据为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 叫 int below) main ()(int i, n, b
6、elow9;int score9 = 10, 20, 30, 40, 50, 60, 70, 80, 90);FILE *out;n=fun (score, 9, below);printf(*XnBelow the average score areout二fopen (out. dat*, w);for(i=0;in;i+) printf(*%d *, belowi); fprintf(out, %dn, belowi);fclose(out);编程题答案10203040#include #include ttinclude int fun(int score, int m, int be
7、low) (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;main()(int i, n, below9;int score9 = 10, 20, 30, 40, 50, 60, 70, 80, 90;FILE *out;n=fun (score, 9, below);printf(*nBelow the average score are out=fopen (out. dat, w);for(i=0;in;i+)
8、(printf(*%d belowi);fprintf(out,belowi);)fclose(out);第2套 填充题 请在函数fun的横线上填写若干表达式,使从键盘上输入一个整数n,输出斐波纳契数列。 斐波纳契数列是一种整数数列,其中每数等于前面两数之和,如:0 1 1 2 3 5 8 13 注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干 表达式或语句。关键词:典型算法,递归 #include int fun(int n); main () ( int i, n = 0; scanf &n); for (i=0; in; i+
9、) printf(*%d 、 fun(i); int fun(int n) ( if (1) return 0; else if (2)return 1;else return 3;) 填充题答案 n=00=n !n n=l l=n fun(n-l)+fun(n-2) fun (n-2)+fun (n-1) 填充题+答案 #include 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 (n=0)return 0;else if
10、 (n1)return 1;elsereturn fun(n-l)+fun(n-2);i.改错题下列给定程序中,函数fun的功能是:逐个比较a、b两个字符串对应位置中的字符,把ASCII 值大或相等的字符依次存放到c数组中,形成一个新的字符串。例如,若a中的字符串为 aBCDeFgH, b中的字符串为:ABcd,则c中的字符串应为:aBcdeFgH。请改正程序中的错误,使程序能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。关键词:字符串#include #include void fun(char *p, char *q, char *c)(/*found*
11、/int k = 1;/*found*/while (*p != *q)if (*p *q)ck = *q;elseck = *p;if (*P)p+;if (*q)q+;k+;main ()char a10 = aBCDeFgH”, b10 = ABcd”, c80 = 0;fun (a, b, c);printf(The string a:);puts (a);printf(The string b:);puts(b);printf(The result:*);puts (c);改错题答案lint k = 0;lwhile(*p *q)改错题+答案include #include void
12、 fun(char *p, char *q, char *c) /*fotind*/int k = 0;/*found*/while (*p*q)(if (*p *q)ck = *q;elseck = *p;if (*p)p+; if (*q)q+;k+;)main()char a10 = aBCDeFgH”, b10 = ABcd”, c80 = 0;fun (a, b, c);printf(The string a:);puts(a);printf(The string b:);puts (b);printf(The result:*);puts (c);)编程题请编写函数fun,它的功能
13、是:求出1到1000之内能被7或11整除、但不能同时被7和II 整除的所有整数并将它们放在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. dat*, w);for(k=0;kn;k+)if(k+l)%10=0)(printf(%5dn, aak);fprintf (out, %dn”,
14、 aak);else(printf (*%5d, *, aak);fprintf (out, %d, , aak);fclose(out);编程题答案7, 11, 14,21,22, 28, 33, 35, 42, 4449, 55, 56, 63, 66, 70, 84, 88, 91, 9899, 105, 110, 112, 119, 121, 126, 132, 133, 140143, 147, 161, 165, 168, 175, 176, 182, 187, 189196, 198, 203, 209, 210,217, 220, 224, 238, 242245, 252,
15、253, 259, 264, 266, 273, 275, 280, 286287, 294, 297, 301, 315, 319, 322, 329, 330, 336341, 343, 350, 352, 357, 363, 364, 371, 374, 378392, 396, 399, 406, 407, 413,418, 420, 427, 429434,440,441, 448, 451,455, 469,473,476, 483484, 490, 495, 497, 504, 506, 511,517,518, 525528, 532, 546, 550, 553, 560,
16、561, 567, 572, 574581, 583, 588, 594, 595, 602, 605, 609, 623, 627630, 637, 638, 644, 649, 651, 658, 660, 665, 671672, 679, 682, 686, 700, 704, 707, 714, 715, 721726, 728, 735, 737, 742, 748, 749, 756, 759, 763777, 781, 784, 791, 792, 798, 803, 805, 812, 814819, 825, 826, 833, 836, 840, 854, 858, 86
17、1, 868869, 875, 880, 882, 889, 891, 896, 902, 903, 910913, 917, 931, 935, 938, 945, 946, 952, 957, 959966, 968, 973, 979, 980, 987, 990, 994,#include include void fun(int *a, int *n)(int i, j=0;for(i=2;i1000;i+)if (i%7=0|i%ll=0)&i%77!=0) aj+=i;*n=j;main () int aa1000, n, k; FILE *out; fun (aa, &n);
18、out=fopen(out. dat, w); for(k=0;kn;k+) if(k+l)%10=0) ( printf(%5dn, aak); fprintf (out, %dn”, aak); else printf (*%5d, aak); fprintf (out, %d, , aak); ) fclose(out); 第3套 填充题 请补充fun函数(char *s),该函数的功能是把字符串中的内容逆置。 例如:字符串中原有的字符串为abcde,则调用该函数后,串中的内容为edcba。 注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填
19、入所编写的若干 表达式或语句。关键词:字符串ttinclude #include ttinclude #define N 81 void fun(char *s) ( int i, n 二 strlen(s)-l; char t;for (i=0; in; i+, 1)( t = si;* 2;_3_; mainO ( char aN; printf(Enter a string:); gets(a);printf(The original string is:); puts(a); fun(a);printf(n);printfCThe string after modified:); pu
20、ts (a); 填充题答案 n-n-=ln=n-lsi = sn* (s+i) = *(s+n) sn = t* (s+n) = t填充题+答案ttinclude #include #include #define N 81 void fun(char *s)char t;for (i=0; in; i+, n-) t = si;si = sn;sn = t; main () ( char aN; printf(*Enter a string:*); gets(a);printf(The original string is:);puts(a);fun(a);printf(n);printf(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国 计算机等级考试 二级 历届 上机
限制150内