全国计算机二级C上机英豪100试题.docx
《全国计算机二级C上机英豪100试题.docx》由会员分享,可在线阅读,更多相关《全国计算机二级C上机英豪100试题.docx(110页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一套1.程序填空题给定程序的功能是:求二分之一的圆面积,函数通过形参 得到圆的半径,函数返回二分之一的圆面积(注:圆面积公式 为:S =乃2,在程序中定义的变量名要与公式的变量相同).例如,输入圆的半径值:19.527,输出为:s=598.9499910注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在横线上 填入所编写的若干表达式或语句。试题程序:ttinclude double fun( double r) (return 3.14159* 1 /2.0;void main() (double x;printf(*Enter x: *);scanf 2);prin
2、tf(*s=%lfn*fun( 3);2 .程序改错题下列给定程序中,函数fun的功能是:计算 S=f(-n)+f(-n+1 )+.+f(O)+f( I )+f(2)+. f(n)的值。例如,当n为5时,函数值应为10.407143。f(x)函数定义如下:(% 4-1)/(%-2)x00x = 0 或 x = 2(x-l)/(x-2) x0f(x)=请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程 序的结构。试题程序:include #include #include #include /*found*/f (double x)if(x=0.0
3、| |x=2.0)return 0. 0;else if (x0. 0)return (x-l)/ (x-2);elsereturn (x+l)/(x-2);double fun(int n)int i; double s=0. 0, y;for(i=-n; i=n;i+) y=f(1.0*i); s+=y;/*found*/ return s)void mainO system(*CLS*);printf(%fn, fun(5);3 .程序设计题编写函数fun,函数的功能是:根据以下公式计算s,计算结 果作为函数值返回;n通过形参传入。S=l+l/(l+2)+1 /(1+2+3)+.+1/(
4、1 +2+3+n)例如,若n的值为11时,函数的值为1.833333。注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数 fun的花括号中填入所编写的若干语句。试题程序:#include #include #include include float fun(int n)void mainO FILE *wf;int n;float s;system(*CLS*);printf(*nPlease enter N:);scanf&n);s=fun(n);printf(*The result is:%fn , s);wf=fopen(*out. dat* w);fpri
5、ntf (wf, *%f* fun (11);fclose (wf);1 /【参考答案】:l.(l)r*r(2)&x(3)x.2.(1)错误:double x)正确:double f(double x)2)错误:return s正确:return s;3. float fun(int n)int il=0; /*定义整型变量si,表示分母*/float s=0.0; /*定义单精度变量,表示每一项*/for(i=l;i=n;i+)sl=sl+i;/*求每一项的分母*/s=s+1.0/sl;/*求多项式的值*/)return s;第2套1.程序填空题请补充main函数,该函数的功能是:计算两个自
6、然数n和 m(m10000)之间所有数的和(n和m从键盘输入例 如,当 n=l,m=100 时,sum=5050;当 n=100,m=1000 时,su m=495550。注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在main 函数的横线上填入所编写的若干表达式或语句。试题程序:include tfinclude include void mainOint n, m;long sum;1;system(*CLS*);printf (*nlnput n, mn);scanf (%d, %d-, &n, &m);while (n=m) (2;n+;printf (*su
7、m=% 3 n*, sum);)2.程序改错题下列给定程序中,fun函数的功能是:根据形参m,计嵬下列 公式的值:t=l+l/2+l/3+l/4+.+l/m例如,若输入5,则应输出2.283333。请改正程序中的错误,使它能计算出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程 序的结构。试题程序:include #include ttinclude double fun (int m)double t=l. 0;int I;for(I=2;I=m;I+)/*found*/t+=l. 0/k;/*fQund*/return I;)void main()int m;syste
8、m CCLS*);printf(*nPlease enter linteger number: *);scanf &m);printf CnThe result isfun(m);3.程序设计题请编写一个函数void fun(char *ttjnt ppU),统计在tt字符 串中“a”到“z”26个字母各自出现的次数,并依次放在pp所指数 组中。例如,当输入字符串abcdefghabcdeabc后,程序的输出结果 应该是:333221 1 10000000000000000000注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数 firn的花括号中填入所编写的若干语
9、句。试题程序:#include #include include void fun (char *tt, int pp)void main()FILE *wf;char aa1000;int bb26, k;system(*CLS*);printf(*nPlease enter a char string :);scanf aa);fun (aa, bb);for (k=0 ;k26 ; k+)printf(*%d *,bbk);printf(*n *);wf=fopen(*out. dat*, w);fun (abcdefgabcdeabc”, bb);for (k=0 ;k26 ; k+)
10、fprintf(wf, *%d *, bbk);fclose(wf);) /【参考答案】:1. (1) sum=0 (2) sum+=n (3) Id2.错误:t+=LO/k;正确:t+=LO/I;(2)错误:return I;正确:return t;3. void fun(char*tt,int pp)(int i;for(i=0;i=a,&*tt=*z*)pp*tt-*a,+;/*将tt字符串中H到N26个字母各自出现的次数,依次放 在PP数组中,任一个小写字母减去宣后所得结果正好是它对 应的下标*/第3套1.程序填空题给定程序的功能是:判断字符ch是否与串str中的某个字符 相同,若相同
11、什么也不做,若不同则插在串的最后。注意:部分源程序给出如下。请勿改动函数main和其他函数中的任何内容,仅在横线上 填入所编写的若干表达式或语句。试题程序:#include ttinclude void fun (char *str, char ch)while (*str &*str !=ch) str+;if (*str 1 ch) str0=ch;2 =0;void mainOchar s81,c;system(*CLS*);printf(*nPlease enter a string :);gets(s);printf (*n Please enter the character to
12、 search :c=getchar ();fun( 3);printf(*nThe result is %sn* s);)2.程序改错题下列给定程序中,函数fun的功能是:分别统计字符串中大 写字母和小写字母的个数。例如,给字符串s输 入:AaaaBBbl23CCccccd,则应输出结果:upper=5,lower=9。请改正程序中的错误,使它能计算出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程 序的结构。试题程序:#include#include/*found*/void fun (char *s, int a, int b)while(*s)/*fOund*/if
13、 (*s=, A1 & *s=, a & *s=, z)b+;s+;main()char s100;int upper=0, lower=0;printf(*nplease a stringgets(s);fun(s, &upper, &lower);printf Cn upper=%d lower=%dn*, upper, lower);)3.程序设计题请编写函数fun,它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。例如,若输入字符串123412132,输入字符1,则输出3。注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数 fun的花括号中填入所编
14、写的若干语句。试题程序:ttinclude #include #include define M 81int fun(char *ss, char c)void main()FILE *wf;char aM, ch;system(*CLS*);printf(*nPlease enter a string:);gets(a);printf(*nPlease enter a char:);ch=getchar ();printf(*nThe number of the char is: %dn*, fun (a, ch);wf=fopen(*out. dat*, w);fprintf (wf, *
15、%d*, fun( 123412132, T); fclose(wf); /【参考答案】:(2) strl*(str+l) (3) s,c2.错误:void fun(char *s, int a, int b)正确:void fun(char *s, int *a, int *b)错误:a+;正确:(*a)+;(3)错误:b+;正确:(*b)+;3. int fun(char *ss, char c)int i=0;for(;*ss!=*0*;ss+)if(*ss=c)i+;/*求出s所指字符串中指定字符的个数*/return i;)第4套1.程序填空题请补充函数fun,该函数的功能是:把AS
16、CII码为偶数的字符从字 符串str中删除,结果仍然保存在字符串str中,字符串str从键盘输 入,其长度作为参数传入函数fun。例如,输入abcdef,输出ace。注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数 fun的横线上填入所编写的若干表达式或语句。试题程序:#include #include #define N 801int i, j;2;for (i=0;in;i+)(if(si%2!=0)sj+=si;;void main()int i=0, strlen=0;char strN;system(*CLS*);printf(*nlnput a str
17、ing:n*);gets(str);while(stri != 0)(strlen+;i+;)fun(str, strlen);printf(*n* display string *n*);puts (str);)2.程序改错题下列给定程序中函数fun的功能是:计算正整数num各位上 的数字之积。例如,若输入252,则输出应该是20。若输入202,则 输出应该是0。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程 序的结构。试题程序:#include #include long fun(long num)/*found*/long k;do(k
18、 *=num%10;/*found*/num =10;while(num);return(k);main()int n;printf(*Please enter a number:);scanf&n);printf Cn%ldn* fun(n);)3.程序设计题请编写一个函数fun,它的功能是:求出1到m(含m)之内能 被7或11整除的所有整数放在数组a中,通过n返回这些数的个 数。例如,若传给m的值为50,则程序输出:7 11 14 21 22 28 33 35 42 44 49注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数 fun的花括号中填入所编写的若干语
19、句。试题程序:#include#include#include#define M 100void fun(int 叫 int *a, int *n)void main()FILE *wf;int aaM, n, k;system (*CLS*);fun (50, aa, &n);for (k=0;kn;k+)if(k+l) %20=0)/* 每行输出 20 个数*/printf (*%4d*, aak);printf (*n*);elseprintf (*%4d*, aak);printf(*n*);wf=fopen(*out. dat, w);for (k=0;kn;k+)fprintf(w
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国计算机 二级 上机 英豪 100 试题
限制150内