计算机二级C语言试题填空.docx
- 文档编号:6521253
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:115
- 大小:47.23KB
计算机二级C语言试题填空.docx
《计算机二级C语言试题填空.docx》由会员分享,可在线阅读,更多相关《计算机二级C语言试题填空.docx(115页珍藏版)》请在冰豆网上搜索。
计算机二级C语言试题填空
001
请补充函数fun,函数fun的功能是求n的阶乘。
注意:
部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
---------------------
#include
longfun(int n)
{
if(【1】)
return(n*fun(【2】));
return【3】;
}
voidmain()
{
printf("10!
=%ld\n",fun(10));
}
------------------------------------------
【1】n>1或1 002 请补充函数fun,它的功能是: 计算并输出n(包括n)以内所有能被3或7整除的自然数的倒数之和。 例如,在主函数中从键盘给n输入30后,输出为: s=1.226323。 注意: 部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。 试题程序: #include doublefun(int n) { int i; doublesum=0.0; for(i=1;_【1】;i++) if(i%3==0_【2】_i%7==0) sum+=_【3】_/i; returnsum; } main() { intn; double s; printf("\nInputn: "); scanf("%d",&n); s=fun(n); printf("\n\ns=%f\n",s); } --------------------------------------------- 【1】i<=n 【2】|| 【3】1.0或(double)1 003 给定程序的功能是: 求二分之一的圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积(注: 圆面积公式为: S=πr2,在程序中定义的变量名要与公式的变量相同)。 例如,输入圆的半径值: 19.527,输出为: s=598.949991。 注意: 部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仪在横线上填入所编写的若干表达式或语句。 试题程序: #include doublefun(doubler) { return3.14159*_【1】_/2.0; } main() { doublex; printf("Enterx: "); scanf("%lf",_【2】_); printf("S=%lf\n",fun(_【3】_)); } ---------------------------------------------------- 【1】r*r 【2】&x 【3】x 004 给定程序的功能是: 计算并输出下列级数的前N项之和SN,直到SN大于q为止,q的值通过形参传入。 例如,若q的值为50.0,则函数值为50.416687。 注意: 部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。 试题程序: #include doublefun(doubleq) { intn; double s; n=2; s=2.0; while(s【1】q) { s=s+(double)(n+1)/n; 【2】; } printf("n=%d\n",n); 【3】; } main() { printf("%f\n",fun(50)); } ------------------------------------------------- 【1】<= 【2】n++或n+=1或n=n+1 【3】returns或return(s) 005 请补充函数fun,该函数的功能求能是: 整除x且是偶数的数,把这些数保存在数组bb中,并按从大到小的顺序输出。 例如当x=20时,依次输出: 20 10 4 2。 注意: 部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。 试题程序: #include #include #include voidfun(intk,intbb[]) { intI; intj=0; for(【1】;I<=k;I++) { if(【2】) bb[j++]=I; } printf("\n\n"); for(I=【3】;I>=0;I--) printf("%d",bb[I]); } voidmain() { intk=1; intbb[100]; system("CLS"); printf("\nPleaseinputX="); scanf("%d",&k); fun(k,bb); } ---------------------------------------------------- 【1】I=1 【2】k%I==0&&I%2==0 【3】--j或j--或j=j-1或j-=1 006 程序的功能是计算s=! ! 。 注意: 部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在横线上填入所编写的若干表达式或语句。 试题程序: #include longfun(intn) { int i; longs; s=【1】_; for(i=1;i<=n;i++) s=【2】; returns; } main() { longs; int k,n; scanf("%d",&n); s=【3】; for (k=0; k<=n; k++) s=【4】; printf("%id\n",s); } ------------------------------------------------- 【1】1 【2】s*i或i*s 【3】0 【4】s+fun(k) 007 请补充函数fun,该函数的功能是: 求不超过给定自然数的所有偶数之和。 注意: 部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。 试题程序: #include intfun(intx) { int i,s; s=_【1】; for(i=2;【2】;i+=2) s+=i; returns; } main() { intn; do { printf("\nPleaseenternaturalnumbersn: "); scanf("%d",&n); }while(n<=0); printf("\n不超过给定自然数%d的各偶数之和为%d\n",n,fun(n)); } -------------------------------------------------------- 【1】0 【2】i<=x 008 请补充函数fun,该函数的功能是: 求一维数组x[N]的平均值,并对所得结果进行四舍五入(保留两位小数)。 例如: 当x[10]={15.6,19.9,16.7,15.2,18.3,12.1,15.5,11.0, 10.0,16.0},结果为: avg=15.030000。 注意: 部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。 试题程序: #include #include #include doublefun(doublex[10]) { intI; longt; doubleavg=0.0; doublesum=0.0; for(I=0;I<10;I++) 【1】; avg=sum/10; avg=【2】; t=【3】; avg=(double)t/100; returnavg; } voidmain() { doubleavg,x[10]={15.6,19.9,16.7,15.2, 18.3,12.1,15.5,11.0,10.0,16.0}; inti; system("CLS"); printf("\nTheoriginaldatais: \n"); for(i=0;i<10;i++) printf("%6.1f",x[i]); printf("\n\n"); avg=fun(x); printf("average=%f\n\n",avg); } ----------------------------------------------------- 【1】sum+=x[I] 【2】avg*1000 【3】(avg+5)/10 009 请补允函数fun,该函数的功能是: 计算并输出下列多项式的值。 S 例如,若主函数从键盘给n输入50后,则输出为S=1.960784。 注意: 部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填若干表达式或语句。 试题程序: #include 【1】fun(intn) { inti,j; double sum=0.0,t; for(i=1;i<=n;i++) { t=0.0; for(j=1;j<=i;j++) t+=【2】; sum+=【3】; } returnsum; } main() { int n; double s; printf("\nInputn: "); scanf("%d",&n); s=fun(n); printf("\n\ns=%f\n\n",s); } --------------------------------------------------- 【1】double 【2】j 【3】1.0/t或(double)1/t 010 请补充main函数,该函数的功能是: 求n! 。 例如7! =5040。 注意: 部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在main函数的横线上填入所编写的若干表达式或语句。 试题程序: #include #include #include voidmain() { intI,n; longf=1; system("CLS"); printf("Inputn: "); scanf("%d",【1】); for(【2】;I<=n;I++) 【3】; printf("%d! =%ld\n",n,f); } ---------------------------------------- 【1】&n 【2】I=1或I=2 【3】f*=I ================================================ 011 ================================================ 请补充main函数,该函数的功能是: 先以只写方式打开文件"out11.dat",再把字符串str中的字符保存到这个磁盘文件中。 注意: 部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在main函数的横线上填入所编写的若干表达式或语句。 试题程序: #include #include #include #defineN80 voidmain() { FILE*fp; inti=0; charch; charstr[N]="I'mastudent! "; system("CLS"); if((fp=fopen(【1】))==NULL) { printf("cannotopenout11.dat\n"); exit(0); } while(str[i]) { ch=str[i]; 【2】; putchar(ch); i++; } 【3】; } ---------------------------------------------- 【1】″out11.dat″,″w″ 【2】fputc(ch,fp) 【3】fclose(fp) -------------------------------------------------- ================================================== 012 ================================================== 请补充main函数,该函数的功能是: 把文本文件B中的内容追加到文本文件A的内容之后。 例如,文件B的内容为"I'mten.",文件A的内容为"I'mastudent! ",追加之后文件A的内容为"I'mastudent! I'mten." 注意: 部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数main的横线上填入所编写的若干表达式或语句。 试题程序: #include #include #include #defineN80 voidmain() { FILE*fp,*fp1,*fp2; inti; charc[N],ch; system("CLS"); if((fp=fopen("A.dat","r"))==NULL) { printf("fileAcannotbeopened\n"); exit(0); } printf("\nAcontentsare: \n\n"); for(i=0;(ch=fgetc(fp))! =EOF;i++) { c[i]=ch; putchar(c[i]); } fclose(fp); if((fp=fopen("B.dat","r"))==NULL) { printf("fileBcannotbeopened\n"); exit(0); } printf("\n\n\nBcontentsare: \n\n"); for(i=0;(ch=fgetc(fp))! =EOF;i++) { c[i]=ch; putchar(c[i]); } fclose(fp); if((fp1=fopen("A.dat","a"))【1】(fp2 =fopen("B.dat","r"))) { while((ch=fgetc(fp2))! =EOF) 【2】; } else { printf("CannotopenAB! \n"); } fclose(fp2); fclose(fp1); printf("\n***newAcontents***\n\n"); if((fp=fopen("A.dat","r"))==NULL) { printf("fileAcannotbeopened\n"); exit(0); } for(i=0;(ch=fgetc(fp))! =EOF;i++) { c[i]=ch; putchar(c[i]); } 【3】; } -------------------------------------------------- 【1】&& 【2】fputc(ch,fp1) 【3】fclose(fp) -------------------------------------------------- ================================================== 013 ================================================== 请补充函数fun,该函数的功能是: 建立一个带头结点的单向链表并输出到文件"out13.dat"和屏幕上,各结点的值为对应的下标,链表的结点数及输出的文件名作为参数传入。 注意: 部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。 试题程序: #include #include #include typedefstructss { intdata; structss*next; }NODE; voidfun(intn,char*filename) { NODE*h,*p,*s; FILE*pf; inti; h=p=(NODE*)malloc(sizeof(NODE)); h->data=0; for(i=1;i { s=(NODE*)malloc(sizeof(NODE)); s->data=【1】; 【2】; p=【3】; } p->next=NULL; if((pf=fopen(filename,"w"))==NULL) { printf("Cannotopenout13.dat! "); exit(0); } p=h; fprintf(pf,"\n***THELIST***\n"); printf("\n***THELIST***\n"); while(p) { fprintf(pf,"%3d",p->data); printf("%3d",p->data); if(p->next! =NULL) { fprintf(pf,"->"); printf("->"); } p=p->next; } fprintf(pf,"\n"); printf("\n"); fclose(pf); p=h; while(p) { s=p; p=p->next; free(s); } } voidmain() { char*filename="out13.dat"; intn; system("CLS"); printf("\nInputn: "); scanf("%d",&n); fun(n,filename); } -------------------------------------------------- 【1】i 【2】p->next=s 【3】p->next -------------------------------------------------- ================================================== 014 ================================================== 请补充main函数,该函数的功能是: 计算两个自然数n和m(m<10000)之间所有数的和(n和m从键盘输入)。 例如: 当n=1,m=100时,sum=5050;当n=100,m=1000时,sum=495550。 注意: 部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在main函数的横线上填入所编写的若干表达式或语句。 试题程序: #include #include #include voidmain() { intn,m; longsum; 【1】; system("CLS"); printf("\nInputn,m\n"); scanf("%d,%d",&n,&m); while(n<=m) { 【2】; n++; } printf("sum=%【3】\n",sum); } -------------------------------------------------- 【1】sum=0 【2】sum+=n 【3】ld -------------------------------------------------- ================================================== 015 ================================================== 请补充函数fun,该函数的功能求能是: 整除x且是偶数的数,把这些数保存在数组bb中,并按从大到小的顺序输出。 例如当x=20时,依次输出: 20 10 4 2。 注意: 部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。 试题程序: #include #include #include voidfun(intk,intbb[]) { intI; intj=0; for(【1】;I<=k;I++) { if(【2】) bb[j++]=I; } printf("\n\n"); for(I=【3】;I>=0;I--) printf("%d",bb[I]); } voidmain() { intk=1; intbb[100]; system("CLS"); printf("\nPleaseinputX="); scanf("%d",&k); fun(k,b
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 二级 语言 试题 填空