c语言考试题目2.doc

上传人:罗晋 文档编号:7194896 上传时间:2020-11-04 格式:DOC 页数:13 大小:76KB
返回 下载 相关 举报
c语言考试题目2.doc_第1页
第1页 / 共13页
c语言考试题目2.doc_第2页
第2页 / 共13页
c语言考试题目2.doc_第3页
第3页 / 共13页
c语言考试题目2.doc_第4页
第4页 / 共13页
c语言考试题目2.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《c语言考试题目2.doc》由会员分享,可在线阅读,更多相关《c语言考试题目2.doc(13页珍藏版)》请在三一文库上搜索。

1、【考试题目】 程序填空题 请补充main函数,该函数的功能是:从键盘输入一个字符串及一个指定字符,然后把这个字符及其后面的所有字符全部删除。结果仍然保存在原串中。例如,输入“abcdef”,指定字符为e,则输出“abcd”。 注意:部分源程序已给出,并保存在考生文件夹下的 blank1.c 文件中。 请勿改动主函数main和其他函数中的任何内容,仅在main函数的横线上填入所编写的若干表达式或语句,并将横线去掉,同时确保答案与前后字符之间至少保留一个空格。#include #define N 80main() int i=0; char strN; char ch; printf(n Inpu

2、t a string:n); gets(str); printf(n Input a charator;n); scanf(%c, &ch); while(stri!=0) if(stri=ch) _ _ ; stri= _ ; printf(n* display string *n); puts(str); 程序修改题 已知一个数列从0项开始的前3项:0,0,1,以后的各项都是其相邻的前3项之和。下列给定的程序中,函数fun()的功能是:计算并输出该数列前n项的平方根之和sum。n的值通过形参传入。例如,当n=10时,程序的输出结果应为23.197745。请改正程序中的错误,使它能得出正确的

3、结果。 注意:源程序保存在考生文件夹下的 modi1.c 文件中。 不要改动main函数,不得增行或删行,也不得更改程序的结构,注释语句(/*found*/)下方的第一条语句有错误。#include #include #include /*found*/fun(int n) double sum, s0, s1, s2, s; int k; sum=1.0; if (n=2) sum=0.0; s0=0.0; s1=0.0; s2=1.0; for (k=4;kn。P=m!/(n!(m-n)!),例如:m=12,n=8时,运行结果为495.000000。 注意:部分源程序已给出,并保存在考生文

4、件夹下的 prog1.c 文件中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句,并将横线去掉。#include #include float fun (int m, int n) int i; double p=1.0; for(i=1;i=m;i+) p=p*i; for(i=1;i=n;i+) _ _ _ _ main () printf (p=%fn,fun (12,8) ) ;【参考答案】程序填空题:第15行 break; 第16行 i+【 +i i+=1 i=i+1 】 第18行 0【 0 】 程序修改题:第5行 double 第16行

5、 sum; 程序设计题:第10行 p=p/i;【 p/=i; 】 第11行 for(i=1;i=m-n;i+) 第12行 p=p/i;【 p/=i; 】 第13行 return 第13行 p; 【考试题目】 程序填空题 请补充函数fun(),该函数的功能是:把ASCII码为奇数的字符从字符串str中删除,结果仍然保存在字符串str中。字符串str从键盘输入,其长度作为参数传入函数fun()。例如,输入“abcdef”,输出“bdf”。 注意:部分源程序已给出,并保存在考生文件夹下的 blank1.c 文件中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干

6、表达式或语句,并将横线去掉,同时确保答案与前后字符之间至少保留一个空格。#include #define N 80void fun(char s,int n) int i, j; j=0; for(i=0; _ ;i+) if( _ ) sj+=si; _ ;main() int i=0, strlen=0; char strN; printf(nInput a string:n); gets(str); while(stri!=0) strlen+; i+; fun(str, strlen); printf(n* display string *n); puts(str); 程序修改题 下列

7、给定程序中,函数fun()的功能是:给定n个实数,输出平均值,并统计平均值以上(含平均值)的实数个数。例如,n=8时,输入193.199,195.673,195.757,196.051,196.092,196.596,196.579,196.763,所得平均值为195.838745,在平均值以上的实数个数应为5。请改正程序中的错误,使它能得出正确的结果。 注意:源程序保存在考生文件夹下的 modi1.c 文件中。 不要改动main函数,不得增行或删行,也不得更改程序的结构,注释语句(/*found*/)下方的第一条语句有错误。#include #include int fun(float x,

8、 int n)/*found*/ ; int j, c=0;float xa=0.0; for (j=0; jn; j+) xa+=xj/n; printf(ave=%fn,xa); for (j=0; j=xa) c+;/*found*/ return xa;main()float x100= 193.199,195.673,195.757,196.051,196.092,196.596,196.579,196.763;printf(%dn,fun(x,8); 程序设计题 m个人的成绩存放在score数组中,请编写函数fun(),它的功能是:将低于平均分的人数作为函数值返回,将低于平均分的分

9、数放在below所指的数组中。例如,当score数组中的数据为10,20,30,40,50,60,70,80,90时,函数返回的人数应该是4,below中的数据应为10,20,30,40。 注意:部分源程序已给出,并保存在考生文件夹下的 prog1.c 文件中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句,并将横线去掉。#include #include #include int fun(int score,int m, int below) int i,j=0; float av=0.0; for(i=0;im;i+) av=av+scorei

10、/m; for(i=0;im;i+) _ _ _main() int i, n, below9; int score9=10,20,30,40,50,60,70,80,90; n=fun(score, 9, below); printf(nBelow the average score are: ); for(i=0;in;i+) printf(%d,belowi);【参考答案】程序填空题:第7行 ii si 】 第9行 si%2=0 第12行 sj=0【 sj=0 】 程序修改题:第5行 第14行 c; 程序设计题:第11行 if(scoreiscorei) 】 第12行 belowj+=s

11、corei; 第13行 return 第13行 j; 【考试题目】 程序填空题 请补充main函数,该函数的功能是:计算两个自然数n和m(m10000)之间所有数的和(n和m从键盘输入)。例如:当n=1,m=100时,sum=5050;当n=100,m=1000时,sum=495550。 注意:部分源程序已给出,并保存在考生文件夹下的 blank1.c 文件中。 请勿改动主函数main和其他函数中的任何内容,仅在main函数的横线上填入所编写的若干表达式或语句,并将横线去掉,同时确保答案与前后字符之间至少保留一个空格。#include#includemain() int n,m; long s

12、um; _ ; printf(nInput n,mn); scanf(%d,%d,&n,&m); while(n=m) _ ; n+; printf(sum= _ n,sum); 程序修改题 下列给定程序中,函数fun()的功能是:通过某种方式实现两个变量值的交换,规定不允许增加语句和表达式。例如变量a中的值原为8,b中的值原为3,程序运行后a中的值为3,b中的值为8。请改正程序中的错误,使它能得出正确的结果。 注意:源程序保存在考生文件夹下的 modi1.c 文件中。 不要改动main函数,不得增行或删行,也不得更改程序的结构,注释语句(/*found*/)下方的第一条语句有错误。#incl

13、ude #include int fun(int *x,int y) int t;/*found*/ t=x;x=y;/*found*/ return y;main()int a=3,b=8; printf(%d %dn ,a,b); b=fun(&a,b); printf(%d %dn ,a,b); 程序设计题 m个人的成绩存放在score数组中,请编写函数fun(),它的功能是:将高于平均分的人数作为函数值返回,将高于平均分的分数放在up所指的数组中。例如,当score数组中的数据为24,35,88,76,90,54,59,66,96时,函数返回的人数应该是5,up中的数据应为88,76,

14、90,66,96。 注意:部分源程序已给出,并保存在考生文件夹下的 prog1.c 文件中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句,并将横线去掉。#include #include #include int fun(int score,int m, int up) int i,j=0; float av=0.0; for(i=0;im;i+) av=av+scorei/m; for(i=0;im;i+) _ _ _main() int i, n, up9; int score9=24,35,88,76,90,54,59,66,96; n=f

15、un(score, 9, up); printf(nup to the average score are: ); for(i=0;iav)【 if(avscorei) 】 第12行 upj+=scorei; 第13行 return 第13行 j; 【考试题目】 程序填空题 请补充函数fun(),该函数的功能是:输出一个矩阵,由键盘输入,矩阵元素的值为随机数,并计算出该矩阵四周边元素的平均值,结果由函数返回。例如:当时: 平均值为3.917。 注意:部分源程序已给出,并保存在考生文件夹下的 blank1.c 文件中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编

16、写的若干表达式或语句,并将横线去掉,同时确保答案与前后字符之间至少保留一个空格。#include#include#include#define N 20double fun(int aN,int n) int i,j; int k; double s=0.0; double aver=0.0; printf(* The array *n); for(i=0;in;i+) for(j=0;jn;j+) aij=rand()%10; printf(%4d,aij); if( _ ) s+=aij; printf(n); k= _ ; aver= _ ; return aver;main() int

17、 aNN; int n; double s; printf(* Input the dimension of array N*n); scanf(%d,&n); s=fun(a,n); printf(* THE RESULT *n); printf(The average is %2.3fn,s); 程序修改题 下列给定程序中,函数fun()的功能是:先从键盘上输入一个3行3列的矩阵的各个元素的值,然后输出主对角线元素之和。请改正函数fun()中的错误,使它能得出正确的结果。 注意:源程序保存在考生文件夹下的 modi1.c 文件中。 不要改动main函数,不得增行或删行,也不得更改程序的结构

18、,注释语句(/*found*/)下方的第一条语句有错误。#include int fun() int a33,sum; int i,j;/*found*/ sum=1; for (i=0;i3;i+) for (j=0;j3;j+)/*found*/ scanf(%d,aij); for(i=0;i3;i+) sum=sum+aii; printf(Sum=%dn,sum);main()fun(); 程序设计题 请编写一个函数fun(),它的功能是:求出一个2M整型二维数组中最大元素的值,并将此值返回调用函数。 注意:部分源程序已给出,并保存在考生文件夹下的 prog1.c 文件中。 请勿改动

19、主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句,并将横线去掉。#define M 4#include fun (int aM) int i,j,max=a00; for(i=0;i2;i+) for(j=0;jM;j+) _ _ _ main() int arr2M=5,8,3,45,76,-4,12,82; printf(max=%dn,fun(arr);【参考答案】程序填空题:第18行 i=0|i=n-1|j=0|j=n-1【 i=0|j=0|i=n-1|j=n-1 22 】 第23行 4*n-4 第24行 s/k 程序修改题:第7行 sum=0; 第1

20、1行 scanf(%d,&aij); 程序设计题:第8行 if(maxmax) 】 第9行 max=aij; 第10行 return 第10行 max; 【考试题目】 程序填空题 请补充函数fun(),该函数的功能是:删除字符数组中小于等于指定字符的字符,指定字符从键盘输入,结果仍保存在原数组中。例如,输入“abcdefghij”,指定字符为d,则结果输出“defghij”。 注意:部分源程序已给出,并保存在考生文件夹下的 blank1.c 文件中。 请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句,并将横线去掉,同时确保答案与前后字符之间至少保

21、留一个空格。#include #define N 80void fun (char s, char ch) int i=0, j=0; while(si) if(sich) _ ; else _ ; i+; _ ;main() char strN,ch; printf(n Input a string:n); gets(str); printf(n* original string *n); puts(str); printf(n Input a character:n); scanf(%c, &ch); fun(str, ch); printf(n* new string *n); puts

22、(str); 程序修改题 给定程序中,函数fun()的功能是:求输入的两个数中较小的数。例如:输入5 10,结果为min is 5。请改正fun()程序中的错误,使它能得出正确的结果。 注意:源程序保存在考生文件夹下的 modi1.c 文件中。 不要改动main函数,不得增行或删行,也不得更改程序的结构,注释语句(/*found*/)下方的第一条语句有错误。#include #include/*found*/void fun(int x, int y) int z; z=xy?x:y;/*found*/ return x;main()int a,b,c; scanf(%d,%dn,&a,&b)

23、; c=fun(a,b); printf(min is %d,c); 程序设计题 请编写函数fun(),其功能是:计算并输出下列多项式值。S=(1-1/2)+(1/3-1/4)+(1/(2n-1)-1/2n)例如,若主函数从键盘给n输入8后,则输出为S=0.662872。 注意:部分源程序已给出,并保存在考生文件夹下的 prog1.c 文件中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句,并将横线去掉。#includedouble fun(int n) int i; double s=0.0; for(i=1;i=n;i+) _ _ main()

24、 int n; double s; printf(nInput n: ); scanf(%d,&n); s=fun(n); printf(ns=%fn ,s);【参考答案】程序填空题:第9行 i+【 +i i+=1 i=i+1 】 第12行 sj+=si 第16行 sj=0【 sj=0 】 程序修改题:第4行 int 第8行 z; 程序设计题:第7行 s=s+(1.0/(2*i-1)-1.0/(2*i);【 s+=(1.0/(2*i-1)-1.0/(2*i); s+=1.0/(2*i-1)-1.0/(2*i); s=s+1.0/(2*i-1)-1.0/(2*i); 】 第8行 return 第

25、8行 s; 【考试题目】 程序填空题 请补充函数fun(),该函数的功能是:只保留字符串中的大写字母,删除其他字符,结果仍保存在原来的字符串中,由全局变量m对删除后字符串的长度进行保存。 注意:部分源程序已给出,并保存在考生文件夹下的 blank1.c 文件中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句,并将横线去掉,同时确保答案与前后字符之间至少保留一个空格。#include#includeint m;void fun(char *s) int i=0,j=0; char *p=s; while(*(p+i) if(*(p+i)=A&*

26、(p+i)=Z) _ ; _ ; sj=0; _ ;main() char str80; printf(nEnter a string:); gets(str); printf(nnThe string is:%sn,str); fun(str); printf(nnThe string of changing is:%sn,str); printf(nnThe length of changed string is:%dn,m); 程序修改题 下列给定程序中函数fun()的功能是计算1/n!的值。例如:给n输入5,则输出0.008333。请改正程序中的错误,使它能得到正确结果。 注意:源程序

27、保存在考生文件夹下的 modi1.c 文件中。 不要改动main函数,不得增行或删行,也不得更改程序的结构,注释语句(/*found*/)下方的第一条语句有错误。#include #include /*found*/int fun(int n) double result =1.0; if(n=0) return 1.0; while(n1 & n 170)/*found*/ result*=n+; result=1/result; return result;main() int n; printf(Input N:); scanf(%d,&n); printf(n1/%d!=%lfn,n,

28、fun(n); 程序设计题 请编写一个函数void fun(int m, int k, int xx),该函数的功能是:将大于整数m且紧靠m的k个非素数存入所指的数组中。例如,若输入15,5,则应输出16,18,20,21,22。 注意:部分源程序已给出,并保存在考生文件夹下的 prog1.c 文件中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句,并将横线去掉。#include #include void fun(int m, int k, int xx) int i,j,n; for(i=m+1,n=0;nk;i+) for(j=2;ji;j+

29、) if(i%j=0) _ _ _main() int m,n,zz1000; printf(nPlease enter two integers: ); scanf(%d%d,&m,&n); fun(m, n, zz); for(m=0;mn;m+) printf(%d ,zzm); printf(n );【参考答案】程序填空题:第12行 sj+=*(p+i) 第14行 i+【 +i i+=1 i=i+1 】 第17行 m=j 程序修改题:第4行 double【 float 】 第10行 result*=n-; 程序设计题:第10行 xxn+=i; 第11行 break; 第12行 【考试题

30、目】程序填空题 请补充main函数,该函数的功能是:输出一个NN矩阵,要求非对角线上的元素赋值为0,对角线元素赋值为1。 注意:部分源程序已给出,并保存在考生文件夹下的 blank1.c 文件中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句,并将横线去掉,同时确保答案与前后字符之间至少保留一个空格。#include#define N 10main() int bbNN; int i,j,n; printf( nInput n:n); scanf(%d,&n); for(i=0;in;i+) for(j=0;jn;j+) _ ; if(i=j

31、) bbij= _ ; if( _ ) bbij=1; printf( n* the result * n); for(i=0;in;i+) printf( nn); for(j=0;jn;j+) printf(%4d,bbij); 程序修改题 下列给定程序中fun()函数的功能是:将n个无序整数从小到大排序。请改正程序中的错误,使它能得出正确的结果。 注意:源程序保存在考生文件夹下的 modi1.c 文件中。 不要改动main函数,不得增行或删行,也不得更改程序的结构,注释语句(/*found*/)下方的第一条语句有错误。#include #include #include fun(int

32、n,int *a) int i,j,p,t; for (j=0;jn-1;j+) p=j;/*found*/ for(i=j+1;iai)/*found*/ t=i; if(p!=j) t=aj;aj=ap;ap=t; putarr( int n,int *z)int i; for (i=1;i=n;i+,z+) printf(%4d,*z); if (!(i%10) ) printf(n); printf(n);main()int aa20=9,3,0,4,1,2,5,6,8,10,7, n=11; printf(nnBefore sorting %d numbers:n,n); putar

33、r(n,aa); fun(n,aa); printf(nAfter sorting %d numbers:n,n);putarr(n,aa); 程序设计题 请编写函数fun(),函数的功能是求出二维数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。例如:若二维数组中的值为1 3 5 7 92 9 9 9 46 9 9 9 81 3 5 7 0则函数值为61。 注意:部分源程序已给出,并保存在考生文件夹下的 prog1.c 文件中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句,并将横线去掉。#include#include#define M 4#define N 5int fun( int a MN) int i,j,sum=0; for(i=0;iM;i+) for(j=0;jN;j+) if(i=0|i=M-1|j=0|j=N-1) _ _ main() int aaMN=1,3,5,7,9,2,9,9,9,4,6,9,9,9,8,1,3,5,7,0; int i, j, y; printf (The original data is :n ); for(i=0; iM;i+) for (j=0; jN;j+)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1