2015年2011年计算机二级C语言99套上机操作题及答案.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2015年2011年计算机二级C语言99套上机操作题及答案.docx》由会员分享,可在线阅读,更多相关《2015年2011年计算机二级C语言99套上机操作题及答案.docx(210页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言上机操作题.第1套 填空题请补充FUN函数,FUN函数的功能是求10的阶乘。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容, 仅在fun函数的横线上填入所编写的若干表达式或语句。 试题程序:#include long fun(int n) (if (1)return (n*fun(2);return 3;main()(printf(n10!=%ldnH, fun(10);)第1处填空:n!或!n第2处填空:n-1第3处填空:1或11或IL改错题下列给定程序的功能是:读入个整数K (2=K =10000),打印它的所有因子(即 所有为素数的因子)。例如,若输入整数2
2、310,则应输出:2、3、5、7、11。请改正程序中的错误,使程序能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include #include /found/IsPrime(int n); int i, m;m = 1 ;/ * ound/for (i=2; in; i+) if !(n%i)(m = 0 ; break;)return(m);)main() (int j, k;printf (Hnplease enter an integer number between 2 and 10000 : ,); scanf(n%d, &k);p
3、rintf(HnnThe prime factor(s) of %d is(are):H, k);for (j=2; jk; j+)if (!(k%j) & (IsPrime(j)printf(吿4d,,j );printf(Mn);第 1 处:Isprime(inl n);应改为 Isprime(int n) 第 2 处:if !(n%i)应该为 if(!(n%i)编程题M个人的成绩存放在scom数组中,请编写函数fun,它的功能是:返回低于平均分的 认输,并将低于平均分的分数放在below所指的数组中。例如,当score数组中的数据为10、20、30、40、50、60、70、80、90时,
4、函数返回的认 输应该是4, below中的数据应我10、20、30、40。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写 的若干语句。试题程序:ttinclude #include #include string.hint fun(int score,int m, int below)(main()(int i,n,below9;int score 9=10,20,30,40,50,60,70,80,90;FILE *out;n=fun(score,9,below);printf(HnBelow the average score a
5、re :,;out=fopen(out.dat, w);for(i=0;in;i+)(printf(%d ,belowi);fprintf(out, %dn, belowi);fclose(out);)答案是:int fun(int score, int m, int below)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的横线上填写若干表达式,使从键盘上输入个整数N,输出斐波纳契 数列。斐波纳
6、契数列是种整数数列,其中每数等于前面两数之和,如:01 1 2 3 5 8 13 请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干 表达式或语句。试题程序:#include int fun(int n); main() (int i, n = 0 ; scanf(H%dH, &n); for (i = 0; in; i+) printf (*%d , fun (i); ) int fun(int n) ( if (_1_) return 0; else if (2)return 1;elsereturn 3; 第1处填空:n=0或0=n或!n 第2处填空:n
7、=l 或 l=n 第 3 处填空:fun(n-l)+fun(n-2)或 fun(n-2)+fun(n-l)改错题下列给定程序中,函数FUN的功能是:逐个比较a、b两个字符串对应位置中的字符, 把ASCII值大或相等的字符依次存放到c数组中,形成一个新的字符串。例如,若a中的字 符串为aBCDeFgH,b中的字符串为:ABcd,则c中的字符串应为:aBcdeFgH。请改正程序中的错误,使程序能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序:#include #include string.h void fun (char *p, char *q, c
8、har *c) (int k = 1 ;I ound*I while (*p != *q) ( if (*p *q) c k = *q; else ck = *p; if (*p)P+; if (*q) q+ + ; k+ ; ) main() (char a 10 = aBCDeFgHn, b 10 = ABcd”,c 80 = 0 ; fun(a, b, c);printf(nThe string a:n);puts(a);printf(nThe string b:n);puts(b);printf(HThe result:);put s(c);)第1处:int k=!应改为int k=0
9、;第 2 处:while(*p!=*q)应改为 while(*pll*q)编程题请编写函数fun,它的功能是:求出1到1000之内能被7或11整除、但不能同时被7 或1I整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写 的若干语句。试题程序:#include #include 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
10、;kn;k+)if(k+1)%10=0)(printf(%5dn,aak);fprintf(out, %dn, aa k);else(printf(%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=0lli%l l=0)&i%77!=0)a+=i;*n=j;)填空题请补充函数FUN(CHAR *S),该函数的功能是把字符串中的内容逆置.例如:字符串中原有的字符串为abcde,则调用该函数后,串中的内容为edcba.请勿改动主函数
11、main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的 若干表达式或语句。试题程序:#include #include #include #define N 81 void fun(char *s) (int i, n = strlen(s)-1; char t;for (i = 0 ; in; i + +, 1)( t = si;2_;3;) main()(char a N;printf(HEnter a string:); gets (a);printf (11 The original string is:); puts(a); fun(a);printf (* n);pri
12、ntf (nThe string after modified :;puts(a);第!处填空:n或-n或n-=!或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, j;/ *f ound*/for (i = 0, j =0
13、; s i ! = 10; i+ + ) if (s j=10 & s i=191)s j = s i;s j = X;)main()char item80;printf (nEnter a string : );gets(item);printf(HnnThe string is : %snn # item);fun(item);printf(nnnThe string of changing is : %snn, item);)第 ! 处:sj=si;应改为 sj+=si第 2 处:应改为 sj=、;编程题请编写函数void fun(int x,int pp,int *n),它的功能是:求
14、出能整除x且不是偶数的各整数, 并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回.例如,若x中的值为30,则有4个数符合要求,它们是1,3,5,15.注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写 的若干语句。试题程序:ttinclude #include void fun (int x, int pp ,int *n) main()(int x, aa 1000, n, i;FILE *out;printf(nPlease enter an integer number:nH); scanf(H%dH,&x);f
15、un(x,aa,&n);for(i=0;in;i+)printf(H%d ”, aa i);printf(n);fun(730, aa, &n);out = fopen(out.dat, w);for (i = 0; i n; i+)fprintf(out, %dn, aai);fclose(out);答案是:void fun(int x,inl pp,int *n)(int i= 1 ,j=O,k=O,*t=pp;for(i=0;i=x;i+)if(i%2!=0)(tj=i;j+;)for(i=0;ij;i+)if(x%ti=O)(pplk=ti;k+;*n=k;第4套请补充函数FUN,它的
16、功能是:计算并输出N (包括N)以内能被3或整除的所有 自然数的倒数之和。例如,在主函数中从键盘给N输入30后,输出为:S=1.226323o请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的 若干表达式或语句。试题程序:#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 (Hnlnput n: ); scanf(“吿d”, &n)
17、;s = fun(n);printf(Hnns=%fn, s); )第1处填空:i=i第2处填空:II第3处填空:1.0或(double) 1改错题下列给定程序中,fun函数的功能是:分别统计字符串中大写字母和小写字母的个数。例如, 给字符串s输入:AaaaBBbl23CCccccd,则应输出结果:upper=6,lower8请改正程序中的错误,使程序能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序:#include #include I oundIvoid fun (char *s, int a, int b) (while (*s) (/*fo
18、und* */ if (*s=A* & *s=a 1 & *s=1z) b+;s+ ; )main()char s 100;int upper = , lower = 0;printf (nnPlease a string : *);gets (s);fun(s, &upper, &lower);printf (*n upper=%d lower=%dnn, upper, lower);1 处:void fun (char *s,int a,int b)应改为 void fun(char *s,int *a,int *b)2 处:a+;应改为(*a)+;3 处:b+;应改为(*b)+;编程题请
19、编写个函数voidfun(char*tt,intppn),统计在tt字符串中“a”到“ z” 26个字母各 自出现的次数,并依次存放在pp所指数组中。例如,当输入字符串abcdefgabcdeabc后,程序的输出结果应该是:33322110000000000000000000注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写 的若干语句。试题程序:# include # include void fun(char *tt, int pp)main()char aa 1000;int bb26, k;FILE *out;printf(nPl
20、ease enter a char string:H);scanf(n%sn,aa);fun(aa,bb);for(k=0;k26 ; k+)printf(n%d,bbk);printf(Hn);fun(Ha bosom friend afar brings a distant land near, bb); out = fopen(out.dat, w);for (k = 0; k 26; k+)fprintf(out, %dn, bbk);fclose(out);答案是:void fun(char *tt,int pp)(int I;for(i=0;i26;i+)ppi=O;while(*
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2015 2011 计算机 二级 语言 99 上机 操作 答案
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内