考试大论坛:2011年计算机二级C语言99套上机操作题及答案.docx
《考试大论坛:2011年计算机二级C语言99套上机操作题及答案.docx》由会员分享,可在线阅读,更多相关《考试大论坛:2011年计算机二级C语言99套上机操作题及答案.docx(98页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、.第1套注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句.试题程序:#include long fun(int n)(if (一1一)return (n*fun (2);return 3;main ()(printf(n10!=%ldn, fun(10);第1处填空:nl或ln第2处填空:n-1第3处填空:1或11或IL 改错题下列给定程序的功能是:读入一个整数K (2=K (=10000),打印它的所有因子(即所有为素数的因子)。例如,若输入整数2310,则应输出:2、3、5、7、11。请改正程序中的错误,使程序能得出
2、正确的结果.注意:不要改动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, k;printf (nnplease enter an integer number between 2 and 10000:n);scanf(%dw,&k);printf (nnThe prime factor (s) of %d is (are
3、): H , k);for (j=2; jk; j+)if (!(k% j)&(IsPrime(j) printf(w %4d,w, 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、50、60、70、8()、填空题请补充FUN函数,FUN函数的功能是求10的阶乘。90时,函数返回的认输应该
4、是4, below中的数据应我10,20、30、40 o注意:部分源程序给出如下。请勿改动主:函数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 (nBelow the average score are :*);out=fopen(no
5、ut.datn, n w M);for(i=0;in;i+)printf(%d /belowfi);fprintf(out, n%dnz belowi);fclose(out);)答案是:int fun(int score, int m, int below)int I, k=0,aver=0;fbr(i=0;im;i+)aver+=scorei;aver/=m;fbr(i=0;im;i+)if(score|iaver)(belowk=scorei;k+;)return k;)第2套填空题请在函数FUN的横线上填写若干表达式,使从键盘上输入一个整数N,输出斐波纳契数列。斐波纳契数列是一种整数数
6、列,其中每数等于前面两数之和,如:011235813.请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。试题程序:#include int fun (int n);main()int i, n =0;scanf(%d,&n);for (i=0; in; i+)printf(M%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=l或l=n第3处填空:fun(n1)+fun(n-2)或 fun(n
7、-2)+fun(n-I)改错题卜列给定程序中,函数FUN的功能是:逐个比较a、b两个字符串对应位置中的字符,把ASCII值大或相等的字符依次存放到c 数组中,形成一个新的字符串。例如,若a中的字符串为aBCDeFgH,b 中的字符串为:ABcd,则c中的字符串应为:aBcdeFgHo请改正程序中的错误,使程序能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include include string.hvoid fun (char *p, char *q, char *c)(/*found*Iint k =1;/found*/while (*p
8、!=*q)(if (*p *q)ck=*q;elseck=*p;if (*p)P+;if (*q)q+;k+;main ()(char a 10= MaBCDeFgH, b10=ABcd”,c 80=0;fun (a, b, c);printf(The string a:n);puts(a);printf(The string b:n);puts(b);printf(The result:n);put s (c);第1处:intk=l应改为int k=0;第2处:while(*p!=*q)应改为 while(*pll*q)编程题请编写函数fun,它的功能是:求出1到1000之内能被7或11整除
9、、但不能同时被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.dat,w M);for(k=0;kn;k+)if(k+1)%10=0)(printf(n%5dnM,aak);fprintf(out,%dnw, aak);else(printf(M%
10、5d,M,aak);fprintf(out,%df n, aak);fclose(out);)答案是:void fun(int *a,int *n)(int i,j=0;for(i=2;i1000;i+)if(i%7=0lli%ll=0)&i%77!=0)a|j+=i;*n=j;第3套填空题请补充函数FUN(CHAR *S),该函数的功能是把字符串中的内容逆置.例如:字符串中原有的字符串为abcde,则调用该函数后,串中的内容为edcba.请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。试题程序:#include #include #inclu
11、de #define N 81 void fun(char *s)int iz n = strlen(s)-1;char t;for (i=0; in; i+,1)(t = s(i;一2一;_3;main()char a N;printf(Enter a string:n);gets(a);printf(The original string is:M);puts (a);fun(a);printf(nnM);printf(The string after modified:); puts (a);)第处填空:n或或或n=n-l第2处填空:si=sn*(s+i)=*(s+n)第3处填空:sn=
12、t 或*(s+n)=t改错题下列给定的程序中,函数fun的功能是:依次取出字符串中所以数字字符,形成新的字符串,并取代原字符串.请改正函数fun中的错误,使程序能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include #include void fun(char *s)(int i, j;/*founci*/for (i=0, j=0; si!=101; i+)if (sj=*0*& si=91) s j= s i;/*fourid*/ sj= w0;main ()(char item80;printf(nEnter a string :)
13、;gets(item);printf(wnnThe string is :%snn, item);fun(item);printf(nnnThe string of changing is :%snM, item);第1处:sj=si;应改为 sj+=si第2处:sj=/(r;应改为 sj=O;编程题请编写函数void fun(int x,int pp,int *n),它的功能是:求出能整除x FL不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回.例如,若x中的值为30厕有4个数符合要求,它们是1,3,5,15.注意:部分源程序给出如口请勿改动主:函数ma
14、in和其他函数中的任何内容,仅在函数fun 的花括号中填入所编写的若干语句。试题程序:#include #include void fun(int x, int pp, int *n)(main ()(int x, aa1000, n, i;FILE *out;printf (nnPlease enter an integer number:nn);scanf(%dwr &x);fun(x,aa,&n);for(i=0;in;i+)printf(,aa i);printf(nn);fun(730, aa,&n);out = fopen(out.dat, nwn);for (i =0; i n;
15、 i+)fprintf (out,“当dn”,aai);fclose(out);答案是:void fun(int xjnt pp,int *n)int i=l,j=O,k=O,*t=pp; fdr(i=O;i=x;i+)if(i%2!=0)(tU=i;j+;fbr(i=O;ij;i+) if(x%ti=O)(ppk=ti;k+;*n=k;第4套填空题请补充函数FUN,它的功能是:计算并输出N (包括N)以内能被3或7整除的所有自然数的倒数之和。例如,在主函数中从键盘给N输入30后,输出为:S=l.226323。请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干
16、表达式或语句。试题程序:#include double fun(int n)int i;double sum =0.0;for (i=l;1; i+)if (i%3=02 i%7=0)sum +=3/i;return sum;)main()(int n;double s;printf(nlnput n: H);scanf (&n);s = fun(n);printf(wnns=%fnn, s);)第1处填空:iv=n或n=i第2处填空:II第3处填空:1.0或(double)l改错题卜.列给定程序中,fun函数的功能是:分别统计字符串中大写字母和小写字母的个数。例如,给字符串s输入:AaaaB
17、Bbl23CCccccd,则应输出结果:upper=6,lower=8请改正程序中的错误,使程序能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include #include void fun(char *s, int a, int b)(while (*s)s+;(/found*/ if (*s=*A,&*s=fa&*s= z1) b+;)main ()(char s 100;int upper =0, lower =0;printf (wnPlease a string :*);gets(s);fun(s,&upper, slower);p
18、rintf(nn upper=%d lower=%dn, upper, lower);第1处:void fun (char *s,int ajnt b)应改为 void fun(char *s,int *a,int *b)第2处:a+:应改为(*a)+;第3处:b+;应改为(*b)+;编程题请编写一个函数void fun(char*tt,int pp),统计在tt字符串中“a”到“z26个字母各自出现的次数,并依次存放在pp所指数组中。例如,当输入字符串abcdefgabcdeabc后,程序的输出结果应该是:33322II(XXXX)(XXXXX)(X)(XMXX)O注意:部分源程序给出如下。
19、请勿改动主:函数main和其他函数中的任何内容,仅在函数fun 的花括号中填入所编写的若干语句。试题程序:# include # include void fun(char tt, int pp)(main ()(char aa1000;int bb(26, k;FILE *out;printf(nnPlease enter a char string:n);scanf(n%sM,aa);fun(aa,bb);for(k=0;k26; k+)printf(%dn,bbk);printf (wn);fun(Ha bosom friend afar brings a distant land ne
20、ar, bb);out = fopen(out.dat, nw);for (k -0; k 26; k+)fprintf(out,%dn”, bbk);fclose(out);答案是:void fun(char *ttjnt pp)(int I;for(i=0;i26;i+)PPi=O;while(*tt)switch(*tt)case a:ppO+;break;case b:ppl+;break;case *c*:pp2+;break;case d:pp3+;break;case c9:pp4-H-;break;case 9f :pp5+;break;case,g:pp6+;break;ca
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 考试 论坛 2011 计算机 二级 语言 99 上机 操作 答案
限制150内