国家二级计算机-C语言上机100套题-电子版(编程题).docx
《国家二级计算机-C语言上机100套题-电子版(编程题).docx》由会员分享,可在线阅读,更多相关《国家二级计算机-C语言上机100套题-电子版(编程题).docx(79页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1请编写一个函数void fun (char *tt, int pp),统计在tt字符串中a到 z”26个字母各自出现的次数,并依次放在pp所指数组中。例如:当输入字符串abcdefghabcdeabc后,程序的输出结果应该是:3 3 3 2 21 1 10000000000000000000注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所 编写的若干语句。试题程序:Sinclude Sinclude ttinclude void fun (char *tt, int pp) void main()(FILE *wf;char aa1000;
2、int bb26, k;system(CLS);printf(XnPlease enter a char string :);scanf aa);fun (aa, bb);for (k=0 ;k26 ; k+)printf (%d , bbk);printf(n );wf=fopen(,zout. dat, w);fun (z,abcdefgabcdeabczz, bb);for (k=0 ;k26 ; k+)fprintf (wf, z/%d ”, bbk);fclose(wf);void fun(char*tt, int pp口)(int i;for(i=0;i=, a*z)pp*tt-
3、a +;/*将tt字符串中a至z 26个字母各自出现的次数,依次放在pp数组中,任一个小写字母减去a后所得结果正好是它对应的下 标*/2请编写一个函数void fun(int m, int k, int xx口),该函数的功能是:将 大于整数m且紧靠m的k个素数存入所指的数组中。例如,若输入17, 5,则应输出19, 23, 29, 31, 37。注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所 编写的若干语句。试题程序:#include ttinclude #include void fun (int m, int k, int xx口)
4、void main()int m, n, zztlOOO;system(CLS);printf(nPlease enter two integers:);scanf(%d%d”, &m, &n);fun (m, n, zz);for (m=0; mn; m+)printf(*%d , zzm);printf(n );void fun(int m, int k, int xx)int i, j, n;for (i=m+l, n=0;nk; i+)/*找大于 m 的素数,循环k次,即找出紧靠m的k个素数*/for(j=2;j=i)/*如果是素数,放入数组xx中*/xxn+= i;3编写函数fun,
5、函数的功能是:根据以下公式计算s,计算结果作为函数值返 回;n通过形参传入。S=l+l/(l+2)+1/(1+2+3)+1/(1+2+3+n)例如:若n的值为11时,函数的值为1.833333。注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所 编写的若干语句。试题程序:ttinclude ttinclude #include Sinclude float fun(int n) void main()(int n;float s;system(CLS);printf (,znPlease enter N: );scanf&n);s=fun(n)
6、;printf(The result is:%fn , s);float fun(int n)(int i,sl=0;float s=0.0;for(i=l;in。P=m!/(n! (m-n)!),例如:m=12, n=8时,运行结果 为 495.000000o注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所 编写的若干语句。试题程序:include Sinclude Sinclude float fun(int m, int n) void main()system(CLS);printf (,zp=%fnz,, fun(12, 8) fl
7、oat fun (int m, int n)int i;double p=l. 0;for(i=l;i=m;i+)p=p*i;/*求 m!*/for(i=l;i=n;i+)p=p/i;/* 求 m!/n!*/for(i=l;i=m-n;i+)p=p/i;/* 求m!/(n! (m-n) !)*/return p;5编写函数fun,它的功能是:利用以下所示的简单迭代方法求方程cos(x)-x=0 的一个实根。xn+l=cos(xn)迭代步骤如下:(1)取xl初值为0.0;(2) x0=xl,把xl的值赋给x0;(3) xl=cos(xO),求出一个新的xl;(4)若xO-xl,的绝对值小于0.0
8、00001,则执行步骤(5),否则执行步骤(2);(5)所求xl就是方程cos(x)-x=0的一个实根,作为函数值返回。程序将输出结果Root=0. 739085o注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仪在函数fun的花括号中填入所 编写的若干语句。试题程序:#include ttinclude #include float fun () main()float f=fun ();printf (,zRoot=%fn/z, f);float fun()float xl=0. 0, xO;do(x0=xl;xl=cos(xO);)while (fabs(x0-xl
9、)=le-6);return xl;6请编写函数fun,函数的功能是:求出二维数组周边元素之和,作为函数值 返回。二维数组中的值在主函数中赋予。例如:若二维数组中的值为1 3 5 7 92 9 9 9 46 9 9 9 81 3 5 7 0则函数值为61o注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所 编写的若干语句。试题程序:#include ttinclude #include #define M 4 ttdefine N 5int fun( int a MN) void main()(int aaM N = 1, 3, 5, 7, 9
10、, 2, 9, 9, 9, 4, 6, 9, 9, 9,8, 1,3, 5, 7,0);int i, j, y;system(CLS);printf (The original data is :n );for(i=0; iM;i+)for (j=0; jN;j+)printf (/z%6d z,, aai j);printf (/zn );)y=fun(aa);printf(nThe sun: %dn ”, y);printf(n );int fun( int aMN) (int i, j, sum=0;for (i=0;iM;i+)for(j=0;jN;j+)if (i=01 | i=M-
11、l | | j=01 | j=N-l)/*只要下标中有一个为 0 或MT或NT,则它一定是周边元素*/sum=sum+aij;/*将周边元素相加*/ return sum;7请编一个函数float fun (double h),函数的功能是:对变量h中的值保留 两位小数,并对第三位进行四舍五入(规定h中的值为正数)。例如:若h值为8. 32433,则函数返回8. 32;若h值为8. 32533,则函数返回8. 33。注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所 编写的若干语句。试题程序:ttinclude #include ttinclu
12、de float fun (float h ) void main()float a;system(CLS);printf(Enter a: );scanf &a);printf(The original data is : );printf(%fnn, a);printf (zzThe result : %fn,z, fun (a);float fun (float h) (long t;t=(h*1000+5)/10;/*单精度数h乘以1000后再加5,相当于对h中的第三位小数进行四舍五入除以10后将其赋给一个长整型数时就把第三位小 数后的数全部截去*/return(float)t/100
13、;/*除以100,保留2位小数*/8请编写一个函数fun,它的功能是:根据以下公式求n的值(要求满足精度 0. 005,即某项小于0.005时停止迭代)。n /2=1+1/3+1*2/ (3*5) +1*2*3/ (3*5*7) +1*2*3*4/ (3*5*7*9) + +l*2*3*3*n/ (3*5*7*(2n+l)程序运行后,如果输入精度0.0005,则程序输出3. 14。注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所 编写的若干语句。试题程序:ttinclude Sinclude #include double fun (doub
14、le eps) void main()double x;printf (z,Input eps: );scanf &x);printf(neps=%lf, PI=%lfn”, x, fun(x);double fun (double eps)(double s=l. 0, sl=l. 0;int n=l;while(sl=eps)/*当某项大于精度要求时,继续求下一项*/sl=sl*n/(2*n+l);/*求多项式的每一项*/s=s+sl;/*求和*/n+;)return 2*s;9请编写一个函数fun,它的功能是:求出1到m(含m)之内能被7或11整除 的所有整数放在数组a中,通过n返回这些
15、数的个数。例如,若传给m的值为50,则程序输出:7 11 14 21 22 28 33 35 42 44 49注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所 编写的若干语句。试题程序:ttinclude ttinclude #include ttdefine M 100void fun(int m, int *a, int *n)void main()int aaM, n, k;system(CLS);fun (50, aa, &n);for(k=O;kn;k+)if(k+l)%20=0)/*每行输出 20 个数*/printf(%4d”,
16、 aak);printf(n);)elseprintf (%4d”, aak);printf (n); void fun(int m, int *a, int *n)(int i,j=0;for(i=l;i=m;i+)if (i%7=01 | i%ll=0)/*求出 1 至lj m (含 m)之内能被7或11整除的所有整数放在数组a中*/aj+=i;*n二 j;/*返回这些数的个数*/)10请编写函数fun,它的功能是:求出ss所指字符串中指定字符的个数,并 返回此值。例如,若输入字符串123412132,输入字符1,则输出3。注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内
17、容,仅在函数fun的花括号中填入所 编写的若干语句。试题程序:Sinclude ttinclude Sinclude #define M 81int fun(char *ss, char c) void main() char aM, ch; system(CLS);printf (,znPlease enter a string: ); gets(a);printf CAnPlease enter a char: ); ch=getchar ();printf(,znThe number of the char is: %d n”, fun (a, ch);int fun(char *ss,
18、 char c)int i=0;for (;*ss!=,0* ;ss+)if(*ss=c)i+;/*求出ss所指字符串中指定字符的个数*/return i;)11请编写函数fun,其功能是:将两个两位数的正整数a、b合并成一个整数 放在c中。合并的方式是:将a数的十位和个位数依次放在c数的十位和千位上, b数的十位和个位数依次放在c数的个位和百位上。例如,当a=45, b=12,调用该函数后,c=5241o注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所 编写的若干语句。试题程序:ttinclude #include ttinclude vo
19、id fun(int a, int b, long *c) main ()(int a, b;long c;printf (zzInput a, b:);scanf(%d%d”,&a, &b);fun (a, b, &c);printf CThe result is: %ldn,c);void fun(int a, int b, long *c)*c=(a%10)*1000+(b%10)*100+(a/10)*10+b/10;12假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将 字符串中的前导*号全部删除,中间和后面的*号不删除。例如,若字符串中的内容为*A*BC*DEF*
20、G*,删除后,字符串中的内容 则应当是 A*BC*DEF*G*。注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所 编写的若干语句。试题程序:Sinclude ttinclude void fun (char *a) void main()(char s81;printf(Enter a string :n);gets(s);fun(s);printf (,zThe string after deleted:nzz); puts (s);void fun (char *a) ( char *p=a;while(*p=,*,)p+;/*指针P指向
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 国家 二级 计算机 语言 上机 100 电子版 编程
限制150内