计算机等级考试 C语言上机试题.docx
《计算机等级考试 C语言上机试题.docx》由会员分享,可在线阅读,更多相关《计算机等级考试 C语言上机试题.docx(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第1套一、填空题给定程序的功能是求1/4的圆周长。函数通过形参得到圆的直径,函数返回1/4的圆周长(圆周长公式为:L=d,在程序中定义的变量名要与公式的变量相同)。例如:输入圆的直径值:19.527,输出为:15.请勿改动主函数main与其他函数中的任何内容,仅在横线上填写所需的若干表达式或语句。#includedouble fun(double d) return 3.14159*d/4.0;main() double z; printf(Input the d of the round:); scanf(%lf,&z); printf(L=%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); return(r);main() long m; printf(nplease enter a number:); scanf(%ld,&m); printf(n%ldn,fun(m);三、编程题请编写一个函数fun,它的功能是:求出1到m之内(含m)能被7或11整初的所有
3、整数放在数组b中,通过n返回这些数的个数。例如,若传送给m的值为20,则程序输出7 11 14。请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。#include#include#define N 100void fun(int m,int*b,int*n) int i,j=0;*n=0; for(i=1;i=m;i+)if(i%7=0|i%11=0) bj=i; j+; *n=j;main() int aN,n,i; FILE*out; fun(20,a,&n); for(i=0;in;i+)if(i+1)%20=0) printf(%4dn,ai)
4、;else printf(%4d,ai); printf(n); out=fopen(outfile.dat,w); fun(100,a,&n); for(i=0;in;i+) if(i+1)%10=0) fprintf(out,%4dn,ai);else fprintf(out,%4d,ai); fclose(out);第2套一、填空题函数fun的功能是:统计长整数test的各位上出现数字5、6、7的次数,并通过外部(全局)变量sum5、sum6、sum7返回主函数。例如:当test=时,结果应该为:sum5=0 sum6=2 sum7=1。请勿改动主函数main与其它函数中的任何内容,仅在
5、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=L; fun(test); printf(nThe count result:n); printf(test=%ld sum5=%d sum6=%d sum7=%dn,test,sum5,sum6,sum7);二、
6、改错题下列给定程序中,函数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(nplease enter a string:); gets(str); p
7、rintf(nThe result string is:n%s,fun(str);三、编程题请编写一个函数fun,它的功能是:找出一维整型数组元素中最小的值和它所在的下标,最小的值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中a是数组名,n是a中的数据个数,min存放最小值,flag存放最小值所在元素的下标请勿改动主函数main与其它函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。#include#include#includevoid fun(int b,int n,int*min,int*d) int i; *min=b0; *d=0; for(i=0
8、;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(%4d,ai); printf(n); fun(a,n,&min,&flag); printf(min=%5d,Index=%4dn,min,flag); out=fopen(outflie.dat,w); memcpy(a,3.,32); fun(a,8,&min,&flag); fprintf(out,min=%5d,Index=%4d,min,flag); fclose
9、(out);第3套 上机考试试题一、填空题请补充main函数,该函数的功能是:从键盘输入一组整数,使用条件表达式找出最大的整数。当输入的整数为-1时结束。例如:输入96 121 23 343 232 54 89 365 89 -1时,最大的数为365。仅在横线上填写所需的若干表达式或语句,请勿改动函数中的其它任何内容#include#include#define NUM 100main() int nNUM; int i=-1; int MAX=-1; printf(nInsert integer with the -1 as end:n); do i+;printf(n%d=,i);scan
10、f(%d,&ni);MAX=MAXni?ni:MAX; while(ni!=-1); printf(The MAX=%dn,MAX);二、改错题下列给定程序中,函数fun的功能是:将一个由八进制数字字符组成的字符串转换为与其数值相等的十进制整数。例如,若输入11111,则输出将是4681。请修改程序中的错误,使它能得出正确结果。注意:不要改动main函数,不能增行或删行,也不能更改程序的结构#include#include#includeint fun(char*s) int n; n=*s-0; s+; while(*s!=0) n=n*8+*s-0;s+; return n;main()
11、char str6; int i; int n; printf(Enter a string(octal digits):); gets(str); if(strlen(str)5) printf(Error:string too longer!nn);exit(0); for(i=0;stri;i+) if(stri7) printf(Error:%c not is octal digits!nn,stri); exit(0); printf(The original string:); puts(str); n=fun(str); printf(n%s is convered to int
12、ege number:%dnn,str,n);三、编程题下列程序定义了NN的二维数组,并在主函数中赋值。请编写函数fun,函数的功能是:求出数组周边元素的平均值并作为函数值返回给主函数中的r。例如:若c数组中的值为:C=197452383则返回主程序后r的值应为4.请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句#include#include#include#define N 3double fun(int bN) int i,j,k=0; double r=0.0; for(j=0;jN;j+) r+=b0j;k+; for(j=0;jN;j+)
13、r+=bN-1j;k+; for(i=1;i=N-2;i+) r+=bi0;k+; for(i=1;i=N-2;i+) r+=biN-1;k+; return r/=k;main() int cNN=1,9,7,4,5,2,3,8,3; int i,j; FILE*out; double r; printf(*n); for(i=0;iN;i+) for(j=0;jN;j+) printf(%4d,cij);printf(n); r=fun(c); printf(THE RESULTn); printf(The r is %lfn,r); out=fopen(outfile.dat,w); f
14、printf(out,%lf,r); fclose(out);第4套 上机考试试题一、填空题请补充fun函数,该函数的功能是将字符串str中的小写字母都改为对应的大写字母,其它字符不变。例如:若输入”Welcome!”,程序输出结果是”WELCOME!”。请勿改动主函数main与其它函数中的任何内容,仅在fun函数的横线上填写所需的若干表达式或语句。#include#include#includechar*fun(char str) int j; for(j=0;strj;j+) if(strj=a)&(strj=z)strj-=32; return(str);main() char str1
15、00; printf(nplease enter a string:); gets(str); printf(nThe result string is:n%s,fun(str);二、改错题下列给定程序中,函数fun的功能是:计算并输出n以内最大的10个能被11或19整除的自然数之和。n的值由主函数传入,若n的值为300,则函数值为2646。请修改程序中的错误或在横线处填上适当的内容并把横线删除,使程序能得出正确的结果。注意:不要改动main函数,不能增行或删行,也不能更改程序的结构。#include#includeint fun(int n) int m=0,mix=0; while(n=2
16、)&(mix10) if(n%11=0)|(n%19)=0) m=m+n; mix+;n-; return m;main() printf(%dn,fun(300);三、编程题请编写函数fun,其功能是:将str所指字符串中除了下标为偶数、同时ASCII值也为偶数的字符外,其余的全部删除;串中剩余字符所形成的一个新串放在s所指的数组中。例如,若str所指字符串中的内容为ABCDEFG,其中字符A的ASCII码值为奇数,因此应当删除;其中字符B的ASCII值为偶数,但在数组中的下标为奇数,因此也应当删除;而字符2的ASCII码值为偶数,所在数组中的下标也为偶数,因此不应当删除,其它以此类推。最后
17、s所指的数组中的内容应是246。请勿改动主函数main与其它函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。注意:部分源程序给出如下。#include#include#includevoid fun(char*str,char s) int i,j=0,n; n=strlen(str); for(i=0;in;i+) if(i%2=0&stri%2=0) sj=stri; j+; sj=0;main() char str100,s100; FILE*out; printf(nplease enter string:); scanf(%s,str); fun(str,s); pr
18、intf(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。请勿改动主函数main与其它函数中的任何内容,仅在fun函数的横线上填写所需的若干表达式或语句。注意:部分源程序给出如下。#include#includevoid fun
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机等级考试 C语言上机试题 语言 上机 试题
限制150内