全国计算机二级-C语言99套上机操作题及答案.docx
《全国计算机二级-C语言99套上机操作题及答案.docx》由会员分享,可在线阅读,更多相关《全国计算机二级-C语言99套上机操作题及答案.docx(232页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言上机操作题.第1套 填空题请补充FUN函数,FUN函数的功能是求10的阶乘。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。试题程序:#include long fun (int n) if (1)return (n*fun (2);return 3;main () printf(n10!=%ldnn z fun (10);第1处填空:nl或ln第2处填空:n-1第3处填空:1或11或IL改错题下列给定程序的功能是:读入一个整数K (2 =K=10000),打印它的所 有因子(即所有为素数的因子)。例如,若输入整
2、数2310,则应输出:2、3、5、 7、Ho请改正程序中的错误,使程序能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序:#include #include /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 r k;printf(nnplease enter an integer number between 2 and 10000: n);scanf(n%dn, &
3、k);printf (nnnThe prime factor (s) of %d is (are) :n, k);for (j=2; jk; j + + )if (!(k%j) & (IsPrime(j)printf ( n %4d, j);printf ( ”n);第 1 处:Isprime(int n);应改为 Isprime(int n)第 2 处:if !(n%i)应该为 if(!(n%i)编程题M个人的成绩存放在score数组中,请编写函数fun,它的功能是:返回低 于平均分的认输,并将低于平均分的分数放在below所指的数组中。例如,当score数组中的数据为10、20、30、40
4、、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(nnBelow the average
5、 score are :n);out=fopen(nout.dat, n w n);for(i=0;in;i+)printf(n%d n z belowi);fprintf (out, n%dnn, belowi);)fclose (out);答案是:int fun(int scored, int m, int belowf)int I, k=0,aver=0; for(i=0;im;i+) aver+=scorei;aver/=m;for(i=0;im;i+) if(scoreiaver) (below k=score i; k+;return k;第2套填空题请在函数FUN的横线上填写若干
6、表达式,使从键盘上输入一个整数N,输 出斐波纳契数列。斐波纳契数列是一种整数数列,其中每数等于前面两数之和, 如:0 1 1 235 8 13.请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所 编写的若干表达式或语句。试题程序:#include int fun (int n);main ()int iz n = 0;scanf(n%dn, &n);for (i=0; in; i+)printf(n%d ”,fun (i);int fun (int n)if (1)return 0;else if (2)return 1;elsereturn 3;第1处填空:n=0或0
7、=n或!n第2处填空:n=l或l=n第 3 处填空:fun(n-l)+fun(n-2)或 fun(n-2)+fun(n-l)改错题下列给定程序中,函数FUN的功能是:逐个比较a、b两个字符串对应位置 中的字符,把ASCH值大或相等的字符依次存放到c数组中,形成一个新的字符 串。例如,若a中的字符串为aBCDeFgH,b中的字符串为:ABcd,则c中的字 符串应为:aBcdeFgHo请改正程序中的错误,使程序能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序:#include include void fun (char *pz char *qz ch
8、ar *c) (Ifound*/ int k = 1;/夫夫found夫夫夫夫/ while (*p != *q) (if (*p *q)ck = *q; elseck = *p;if (*p)P+ + ; if (*q) q+; k + + ;main ()char a10 = naBCDeFgHn , b10 = ABcd”,c80 = 101; fun (a, b, c);printf ( nThe string a:n;puts (a);printf(nThe string b:n);puts (b);printf ( The result:n); put s (c);第1处:int
9、k=l应改为int k=0;第 2 处:while(*p!=*q)应改为 while(*pll*q)编程题请编写函数fun,它的功能是:求出1至U 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 (aaz &n);out = fopen(o
10、ut.dat ”, nwn);for (k=0;kn;k+)if ( (k+1)%10=0)printf(n%5dnn,aak);fprintf (out, “告dn”,aa k);)elseprintf(”5d,aa k);fprintf (out, “告d,”,aak);)fclose (out);答案是:void fun(int *a,int *n)(int i,j=0;for(i=2;i1000;i+)if( (i%7=0lli% 1 l=0)&i%77!=0)aj+l=i;*n=j;)第3套填空题请补充函数FUN(CHAR *S),该函数的功能是把字符串中的内容逆置.例如:字符串中原
11、有的字符串为abcde,则调用该函数后,串中的内容为edcba.请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填 入所编写的若干表达式或语句。试题程序:#include #include include #define N 81void fun (char *s)int i, n = strlen (s)-1; char t;for (i=0; in; i+, 1) t = si;2;一3一;main () (char aN;printf(nEnter a string:n);gets (a);printf(nThe original string is:); puts
12、(a);fun (a);printf(n);printf(nThe string after modified:n); puts (a);第1处填空:n-或-n或n-=l或n=n-l第 2 处填空:si=sn或*(s+i)=*(s+n)第 3 处填空:sn=t 或*(s+n)=t改错题下列给定的程序中,函数fun的功能是:依次取出字符串中所以数字字符, 形成新的字符串,并取代原字符串。请改正函数fun中的错误,使程序能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序:#include #include void fun (char *s) int i
13、z j;/found*/for (i=0z j=0; si!=101; i+) if (sj=f 0 f & si=* 9f)s j = s i;/found/ s j = M0;main () (char item80;printf(nnEnter a string :n );gets (item);printf (nnnThe string is : %snn, item);fun(item);printf(HnnThe string of changing is : %sn”, item);第 1 处:sj=si;应改为 sj+=si 第 2 处:sj=7O;应改为 sj=O;编程题请编
14、写函数void fun(int x,int pp,int *n),它的功能是:求出能整除x旦不是偶 数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形 参n返回.例如,若x中的值为30,则有4个数符合要求,它们是1,3,5,15.注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中 填入所编写的若干语句。试题程序:#include include main()void fun (int x, intPP/ int *n)int xz aa1000z nz i;FILE *out;printf(nnPlease enter an
15、integer number:nn);scanf(n%dnz &x);fun(xz aaz &n);for(i=0;in;i+)printf(n%d ”, aa i);printf ( ”n);fun (730z aaz &n);out = fopen(nout.datn, n w n;for (i = 0; i n; i+)fprintf (out, H%dnn, aai);fclose (out);答案是:void fun(int x,int pp,int *n) (int i=l,j=O,k=O,*t=pp;for(i=0;i;j+;)for(i=0;ij;i+) if(x%ti=O)p
16、pk=ti; k+;*n=k;1第4套 填空题请补充函数FUN,它的功能是:计算并输出N (包括N)以内能被3或7 整除的所有自然数的倒数之和。例如,在主函数中从键盘给N输入30后,输出为:S=l.226323c请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填 入所编写的若干表达式或语句。试题程序:#include double fun (int n) int i;double sum = 0.0;for (i=l; 1; i + + )if (i%3=0 2 i%7=0) sum += 3/i;return sum; main () (int n;double s;pr
17、intf(nnlnput n: scanf(%d, &n);s = fun (n);printf(nnns=%fnnz s); 第1处填空:iv=n或n=i第2处填空:II第3处填空:1.0或(double) 1改错题下列给定程序中,fun函数的功能是:分别统计字符串中大写字母和小写字母的 个数。例如,给字符串s输入:AaaaBBbl23CCccccd,则应输出结果:upper=6,lower=8请改正程序中的错误,使程序能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序:#include include /found*/void fun (char
18、 *sz int a, int b)while (*s)/found/if (*s= * A1 & *s= * Z *) a+ + ;/found夫Is+;main ()char s 100;int upper = 0, lower = 0;printf(nnPlease a string : n);gets(s);fun (sz Supper, Slower);printf ( nn upper=%d lower=%dnn r upper, lower); 一第 1 处:void fun (char *s,int a,int b)应改为 void fun(char *s,int *a,int
19、 *b)第2处:a+;应改为(*a)+;第3处:b+;应改为(*b)+;编程题请编写一个函数void fun(char*tt,int pp(l),统计在tt字符串中a到z 26个字母各自出现的次数,并依次存放在pp所指数组中。例如,当输入字符串abcdefgabcdeabc后,程序的输出结果应该是:33322110000000000000000000注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中 填入所编写的若干语句。试题程序:# include # include void fun(char *ttz int pp) main ()(char
20、 aa 1000;int bb 26, k;FILE *out;printf (nnPlease enter a char string:n);scanf(%s”,aa);fun(aaz bb);for(k=0;k26 ; k+)printf(n%dnzbbk);printf ( nnH);fun (na bosom friend afar brings a distant land nearn, bb);out = fopen(nout.datn, n w n);for (k = 0; k 26; k+)fprintf (out, %dn, bb k);fclose (out);答案是:vo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国计算机 二级 语言 99 上机 操作 答案
限制150内