计算机二级c++上机考试题库80题答案.pdf
《计算机二级c++上机考试题库80题答案.pdf》由会员分享,可在线阅读,更多相关《计算机二级c++上机考试题库80题答案.pdf(200页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第 1套一、填空题给定程序的功能是求1/4的圆周长。函数通过形参得到圆的直径,函数返回1/4的圆周长(圆周长公式为:L=rid,在程序中定义的变量名要与公式的变量相同)。例如:输入圆的直径值:19.527,输出为:15.336457请勿改动主函数main与其他函数中的任何内容,仅在横线上填写所需的若干表达式或语句。#includedouble fun(double d)(return 3.14159*d/4.0;)main()(double z;printf(Input the d of the round:1);scanf(H%lfn,&z);printf(HL=%lfn,fun(z);)二
2、、改错题下列给定程序中函数fun的功能是:计算正整数m 的各位上的数字之积。例如,若输入202,则输出应该是0。请修改程序中的错误,得出正确的结果注意:不要改动main函数,不能增行或删行,也不能更改程序的结构#include#includelong fun(long n)(long r=1;do(r*=n%10;n/=10;while(n);retum(r);)main()(long m;printf(nplease enter a number:1);scanf(n%ld&m);printf(n%ldn,fun(m);三、编程题请编写一个函数fun,它的功能是:求 出 1 到 m 之内(含
3、m)能被7 或 11整初的所有整数放在数组b 中,通过n 返回这些数的个数。例如,若传送给m 的值为2 0,则程序输出7 11 14。请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。#include#include#define N 100void fun(int m,int*b,int*n)(int i,j=O;*n=O;for(i=l;i=m;i+)if(i%7=0lli%ll=0)(j+;)*n=j;)main()(int aN,n,i;FILE*out;fun(20,a,&n);for(i=0;in;i+)if(i+l)%20=0)print
4、f(%4dnn,alij);elseprintf(M%4du,ai);printf(,n,);out=fopen(,outfile.dat,w);fun(100,a,&n);for(i=0;in;i+)if(i+l)%10=0)fprintf(out,n%4dn,ai);elsefprintf(out,H%4dH,ai);fclose(out);第 2 套一、填空题函数fun的功能是:统计长整数test的各位上出现数字5、6、7 的次数,并通过外部(全局)变量sum5、sum6 sum7返回主函数。例如:当 test=89431676 时,结果应该为:sum5=0 sum6=2 sum7=lo
5、请勿改动主函数main与其它函数中的任何内容,仅 在 fun函数的横线上填写所需的若干表达式或语句。#includeint sum5,sum6,sum7;void fun(long test)(sum5=sum6=sum7=0;while(test)(switch(test%10)(case 5:sum5+;break;case 6:sum6+;break;case 7:sum7+;)test/=10;)main()(long test=89431676L;fun(test);printf(nThe count result:nH);printf(Mtest=%ld sum5=%d sum6=
6、%d sum7=%dn,test,sum5,sum6,sum7);)二、改错题下列给定程序中,函数fun的功能是:将字符串str中的小写字母都改为对应的大写字母,其它字符不变。例如,若输入“asAS”,则输出“ASAS”。请修改程序中的错误,使它能统计出正确的结果。注意:不要改动main函数,不能增行或删行,也不能更改程序的结构#include#include#includechar*fun(char str)(int i;for(i=0;stri;i+)if(stri=a&stri=,z)stri-=32;return(str);)main()char str81;printf(nnplea
7、se enter a string:*);gets(str);printf(nThe result string is:n%s,fun(str);)三、编程题请编写一个函数fu n,它的功能是:找出一维整型数组元素中最小的值和它所在的下标,最小的值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中a 是数组名,n 是 a 中的数据个数,min存放最小值,flag存放最小值所在元素的下标请勿改动主函数main与其它函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。#include#include#includevoid fun(int b,int n,int*mi
8、n,int*d)(inti;*min=b0;*d=0;for(i=0;in;i+)if(bi*min)(*min=bi;*d=i;)main()(int i,a20,min,flag,n=10;FILE*out;for(i=0;in;i+)(ai=rand()%50;printf(%4dn,ai);)printf(n”);fun(a,n,&min,&llag);printf(,min=%5d,Index=%4dn,min,flag);out=fopen(,outflie.dat,wn);memcpy(a,3.141592653589793238462643383279,;32);fun(a,8
9、,&min,&nag);fprintf(out,nmin=%5d,Index=%4d,min,flag);fclose(out);)第 3 套上机考试试题一、填空题请补充main函数,该函数的功能是:从键盘输入一组整数,使用条件表达式找出最大的整数。当输入的整数为-1 时结束。例如:输入96 121 23 343 232 54 89 365 89-1时,最大的数为 365 o仅在横线上填写所需的若干表达式或语句,请勿改动函数中的其它任何内容#include#include#define NUM 100main()(intnNUM;int i=-l;int MAX=-1;printf(nlnse
10、rt integer with the-I*as end:n);do(i+;printf(nn%d=,i);scanf(%d”,&ni);MAX=MAXnil?ni:MAX;while(ni!=-I);printf(nThe MAX=%dn,MAX);)二、改错题下列给定程序中,函数fun的功能是:将一个山八进制数字字符组成的字符串转换为与其数值相等的十进制整数。例如,若输入11111,则输出将是4681。请修改程序中的错误,使它能得出正确结果。注意:不要改动main函数,不能增行或删行,也不能更改程序的结构#include#include#includeint fun(char*s)(int
11、 n;n=*s-0*;s+;while(*s!=0)n=n*8+*s0;s+;return n;main()(char str6;int i;int n;printf(MEnter a string(octal digits):);gets(str);if(strlen(str)5)printf(Error:string too longer!nnn);exit(O);)for(i=0;stri;i+)if(stri7)(printf(Error:%c not is octal digits!nnu,stri);exit(O);)printf(The original string:);put
12、s(str);n=fun(str);printf(Mn%s is convered to intege number:%dnnM,str,n);)三、编程题下列程序定义了 N X N 的二维数组,并在主函数中赋值。请编写函数fim,函数的功能是:求出数组周边元素的平均值并作为函数值返回给主函数中的ro例如:若 c 数组中的值为:1 9 7C=4 5 23 8 3则返回主程序后r 的值应为4.625000请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句#include#include#include#define N 3double fun(int bN
13、)int i,j,k=O;double r=0.0;for(j=0;jN;j+)r+=bOU;k+;)for(j=0;jN;j+4-)(r+=bN-lj;k+;)for(i=l;i=N-2;i+)r+=bifO;k+;for(i=1 ;iv=N-2;i+)r+=biN-l;k+;return r/=k;)main()(intcNN=l,9,7,4,5,2,3,8,3);int i,j;FILE*out;double r;pnntf(*n)for(i=0;iN;i+)for(j=0;jN;j+)(printf(%4dcij);)printf(MnM);)r=fun(c);printlCTHE R
14、ESULTnH);printf(nThe r is%lfnn,r);out=fopen(,outfile.dat,w);fprintf(out,n%lf,r);fclose(out);第 4 套 上机考试试题一、填空题请补充fun函数,该函数的功能是将字符串str中的小写字母都改为对应的大写字母,其它字符不变。例如:若输入 Welcome!”,程序输出结果是“WELCOME!”。请勿改动主函数main与其它函数中的任何内容,仅 在 fun函数的横线上填写所需的若干表达式或语句。#include#include#includechar*fun(char str)(intj;for(j=0;str
15、j;j+)(if(strj=a)&(strj=,z)str|j-=32;)return(str);)main()(char str100;printf(nplease enter a string:);gets(str);printf(nThe result string is:n%s,fun(str);)二、改错题下列给定程序中,函数fun的功能是:计算并输出n 以内最大的10个能被11或 19整除的自然数之和。n 的值由主函数传入,若 n 的值为3 0 0,则函数值为2646。请修改程序中的错误或在横线处填上适当的内容并把横线删除,使程序能得出正确的结果。注意:不要改动main函数,不能增
16、行或删行,也不能更改程序的结构。#include#includeint fun(int n)int m=0,mix=0;while(n=2)&(mix 10)(if(n%l l=0)ll(n%19)=0)(m=m+n;mix+;)n-;return m;)main()(printf(%dn,fun(300);三、编程题请编写函数fu n,其功能是:将 str所指字符串中除了下标为偶数、同时ASCH值也为偶数的字符外,其余的全部删除;串中剩余字符所形成的一个新串放在s 所指的数组中。例如,若 str所指字符串中的内容为ABCDEFG123456,其中字符A 的 ASCH码值为奇数,因此应当删除;
17、其中字符B 的 ASCII值为偶数,但在数组中的下标为奇数,因此也应当删除;而字符2 的 ASCII码值为偶数,所在数组中的下标也为偶数,因此不应当删除,其它以此类推。最后s 所指的数组中的内容应是246。请勿改动主函数main与其它函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。注意:部分源程序给出如下。#include#include#includevoid fun(char*str,char sJ)(int i,j=O,n;n=strlen(str);for(i=0;in;i+)if(i%2=0&stri%2=0)sj=stri;j+;)sj小 O;)main()char
18、 str100,s100;FILE*out;printfCXnplease enter string:);scanf(s”,str);fun(str,s);printf(nThe result is:%sn,s);out=fopen(outfile.dat,w);strcpy(str,please enter string:);fun(str,s);fprintf(out,%s,s);fclose(out);)第 5 套上机考试试题一、填空题请补充fun函数,该函数的功能是:依次取出字符串中所有大写字母,形成新的字符串,并取代原字符串。例如,输入sdfASDsd,则输出ASD。请勿改动主函数m
19、ain与其它函数中的任何内容,仅 在 fun函数的横线上填写所需的若干表达式或语句。注意:部分源程序给出如正。#include#includevoid fun(char*s)(int j=0;char*p=s;while(*p)(if(*p=A&*p=Z)s)=*p;j+;p+;)sj=O;)main()(char strllOOJ;printf(nPlease Input a string:);gets(str);printf(nnThe original string is:%sn,str);fun(str);printf(nnThe string of changing is:%sn,s
20、tr);二、改错题下列给定程序中,函数fun的功能是:先从键盘上输入一个3 行 3 列矩阵的各个元素的值,然后输出主对角线元素之和。请修改函数fun中的错误或在横线处填上适当的内容并把横线删除,得出正确结果。注意:不要改动main函数,不能增行或删行,也不能更改程序的结构。#includevoid fun()(int aa33,sum;int i,j;sum=0;for(i=0;i3;i+)for(j=0;j3;j+)scanf(u%du,&aaij);for(i=0;i3;i+)sum=sum4-aaii;printf(Hsum=%dnn,sum);)main()(fun();)三、编程题请
21、编写一个函数void fun(int*s,int l,int*result),用来求出数组的最小元素在数组中的下标,并存放在result所指的存储单元中o例如,输入如下整数:564,165,567,121,948,324,329,454,5345,783,434,124,561,985,555则输出结果为:3,12U请勿改动主函数main与其它函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。注意:部分源程序给出如下。#include#includevoid fun(int*s,int t,int*result)(int temp,min;min=s0;for(temp=0;te
22、mpt;temp+)if(stempmin)(min=stemp;*result=temp;)main()(int store 15=564,165,567,121,948,324,329,454,5345,783,434/24,561,985,555,result;FILE*out;fun(store,10,&result);printf(M%d,%dnn,result,storeresult);out=fopen(,outfile.dat,w);fprintf(out,%dn%dH,result,storeresult);fclose(out);)第6套 上机考试试题一、填空题给定程序的功
23、能是判断字符串S 中的某个字符是否与字符c h 相同,若相同什么也不做,若不同则插在字符串的最后。例如,输入te s t,如果输入e,输出的结果不变,但如果输入a,结果testa o请勿改动主函数main与其它函数中的任何内容,仅在横线上填写所需的若干表达式或语句。注意:部分源程序给出如下。#include#includevoid fun(char*s,char ch)(while(*s&*s!=ch)s+;if(*s!=ch)(s0=ch;sl=0;)main()(char str81,c;printf(MnPlease input a stringAn);gets(str);printf(
24、Mn Please enter the character to search:);c=getchar();fun(sttc);printf(,nThe result is%snH,str);二、改错题下列给定程序中,函数fun的功能是:按顺序给t 所指数组中的元素赋予从2 开始的偶数。然后再按顺序对每5 个元素求一个平均值,并将这些值依次存放在r 所指的数组中。若 t 所指数组中元素的个数不是5 的倍数,多余部分忽略不计。例如,t 所指数组有14个元素,则只对前10个元素进行处理,不对最后的4 个元素求平均值。请修改程序中的错误,得出正确的结果。注意:不要改动main函数,不能增行或删行,也
25、不能更改程序的结构。#include#define NUM 20int fun(double*t,doubled)(int j,i;double sum;for(j=2,i=0;iNUM;i+)(ti=j;j+=2;)sum=0.0;for(j=0,i=0;iNUM;i+)(sum+=ti;if(i+l)%5=0)(r|j=sum/5;sum=0;j+;)return j;)main()(double aNUM,bNUM/5;int i,j;j=fun(a,b);printf(MThe original data:n);for(i=0;iNUM;i+)(if(i%5=0)printf(Hnn)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 二级 c+ 上机 考试 题库 80 答案
限制150内