最新计算机二级c语言上机题库及答案填空类 精品.docx
- 文档编号:7991642
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:130
- 大小:71.71KB
最新计算机二级c语言上机题库及答案填空类 精品.docx
《最新计算机二级c语言上机题库及答案填空类 精品.docx》由会员分享,可在线阅读,更多相关《最新计算机二级c语言上机题库及答案填空类 精品.docx(130页珍藏版)》请在冰豆网上搜索。
最新计算机二级c语言上机题库及答案填空类精品
1.下列给定程序中,函数fun的功能是计算如下公式
直到,并且把计算结果作为函数值返回。
例如,若形参e的值为1e-3,则函数返回值为0.551690。
请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。
注意:
部分源程序在文件BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include
doublefun(doublee)
{inti,k;doubles,t,x;
s=0;k=1;i=2;
/**********found**********/
x=__1__/4;
/**********found**********/
while(x__2__e)
{s=s+k*x;
k=k*(-1);
t=2*i;
/**********found**********/
x=__3__/(t*t);
i++;
}
returns;
}
main()
{doublee=1e-3;
printf("\nTheresultis:
%f\n",fun(e));
}
【参考答案】
(1)3.0或(double)3
(2)> (3)(t+1)
2.下列给定程序中,函数fun的功能是:
计算如下公式前n项的和并作为函数值返回。
例如,当形参n的值为10时,函数返回值为9.612558。
请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。
注意:
部分源程序在文件BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include
doublefun(intn)
{inti;doubles,t;
/**********found**********/
s=__1__;
/**********found**********/
for(i=1;i<=__2__;i++)
{t=2.0*i;
/**********found**********/
s=s+(2.0*i-1)*(2.0*i+1)/__3__;
}
returns;
}
main()
{intn=-1;
while(n<0)
{printf("Pleaseinput(n>0):
");scanf("%d",&n);}
printf("\nTheresultis:
%f\n",fun(n));
}
【参考答案】
(1)0
(2)n (3)(t*t)
3.给定程序中,函数fun的功能是:
统计形参s所指的字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。
例如,若形参s所指的字符串为abcdef35adgh3kjsdf7,则输出结果为4。
请在下划线处填入正确内容并将下划线删除,使程序得出正确的结果。
注意:
部分源程序在文件BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include
voidfun(char*s,int*t)
{inti,n;
n=0;
/**********found**********/
for(i=0;___1___!
=0;i++)
/**********found**********/
if(s[i]>='0'&&s[i]<=___2___)n++;
/**********found**********/
___3___;
}
main()
{chars[80]="abcdef35adgh3kjsdf7";
intt;
printf("\nTheoriginalstringis:
%s\n",s);
fun(s,&t);
printf("\nTheresultis:
%d\n",t);
}
【参考答案】
(1)s[i]
(2)'9' (3)*t=n
4.下列给定程序中,函数fun的功能是:
把形参a所指数组中的奇数按原顺序依次存放到a[0]、a[1]、a[2]、……中,把偶数从数组中删除,奇数个数通过函数值返回。
例如:
若a所指数组中的数据最初排列为:
9、1、4、2、3、6、5、8、7,删除偶数后a所指数组中的数据为:
9、1、3、5、7,返回值为5。
请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。
注意:
部分源程序在文件BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include
#defineN9
intfun(inta[],intn)
{inti,j;
j=0;
for(i=0;i /**********found**********/ if(a[i]%2==___1___) { /**********found**********/ a[j]=a[i];___2___; } /**********found**********/ return___3___; } main() {intb[N]={9,1,4,2,3,6,5,8,7},i,n; printf("\nTheoriginaldata: \n"); for(i=0;i printf("\n"); n=fun(b,N); printf("\nThenumberofodd: %d\n",n); printf("\nTheoddnumber: \n"); for(i=0;i printf("\n"); } 【参考答案】 (1)1 (2)j++ (3)j 5.下列给定程序中,函数fun的功能是: 将形参n中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新数,作为函数值返回。 例如,输入一个整数27638496,函数返回值为64862。 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意: 部分源程序在文件BLANK1.C中。 不得增行或删行,也不得更改程序的结构! 填空 #include unsignedlongfun(unsignedlongn) {unsignedlongx=0;intt; while(n) {t=n%10; /**********found**********/ if(t%2==____1____) /**********found**********/ x=____2____+t; /**********found**********/ n=____3____; } returnx; } main() {unsignedlongn=-1; while(n>99999999||n<0) {printf("Pleaseinput(0 ");scanf("%ld",&n);} printf("\nTheresultis: %ld\n",fun(n)); } 【参考答案】 (1)0 (2)10*x(3)n/10 6.下列给定程序中,函数fun的功能是: 把形参a所指数组中的最小值放在元素a[0]中,接着把a所指数组中的最大值放在a[1]元素中;再把a所指数组元素中的次小值放在a[2]中,把a所指数组元素中的次大值放在a[3],以此类推。 例如,若a所指数组中的数据最初排列为: 9、1、4、2、3、6、5、8、7;则按规则移动后,数据排列为: 1、9、2、8、3、7、4、6、5。 形参n中存放a所指数组中数据的个数。 规定fun函数中的max存放当前所找的最大值,px存放当前所找最大值的下标。 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意: 部分源程序在文件BLANK1.C中。 不得增行或删行,也不行更改程序的结构! #include #defineN9 voidfun(inta[],intn) {inti,j,max,min,px,pn,t; for(i=0;i { /**********found**********/ max=min=___1___; px=pn=i; for(j=i+1;j /**********found**********/ if(max<___2___) {max=a[j];px=j;} /**********found**********/ if(min>___3___) {min=a[j];pn=j;} } if(pn! =i) {t=a[i];a[i]=min;a[pn]=t; if(px==i)px=pn; } if(px! =i+1) {t=a[i+1];a[i+1]=max;a[px]=t;} } } main() {intb[N]={9,1,4,2,3,6,5,8,7},i; printf("\nTheoriginaldata: \n"); for(i=0;i printf("\n"); fun(b,N); printf("\nThedataaftermoving: \n"); for(i=0;i printf("\n"); } 【参考答案】 (1)a[i] (2)a[j] (3)a[j] 7.下列给定程序中,函数fun的功能是进行数字字符转换。 若形参ch中是数字字符'0'~'9',则将'0'转换成'9','1'转换成'8','2'转换成'7',……,'9'转换成'0';若是其它字符则保持不变;并将转换后的结果作为函数值返回。 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意: 部分源程序在文件BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include /**********found**********/ charfun(charch) { /**********found**********/ if(ch>='0'&&__’9’___) /**********found**********/ return'9'-(ch-__’0’_3___); returnch; } main() {charc1,c2; printf("\nTheresult: \n"); c1='2';c2=fun(c1); printf("c1=%cc2=%c\n",c1,c2); c1='8';c2=fun(c1); printf("c1=%cc2=%c\n",c1,c2); c1='a';c2=fun(c1); printf("c1=%cc2=%c\n",c1,c2); } 【参考答案】 (1)char (2)ch<='9' (3)'0' 8.下列给定程序中,函数fun的功能是: 求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指的变量中。 ss所指字符串数组中共有M个字符串,且串长 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意: 部分源程序在文件BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #include #defineM5 #defineN20 intfun(char(*ss)[N],int*n) {inti,k=0,len=N; /**********found**********/ for(i=0;i {len=strlen(ss[i]); if(i==0)*n=len; /**********found**********/ if(len<*n) {*n=len; k=i; } } /**********found**********/ return(k); } main() {charss[M][N]={"shanghai","guangzhou","beijing","tianjing","chongqing"}; intn,k,i; printf("\nTheoriginalstringsare: \n"); for(i=0;i k=fun(ss,&n); printf("\nThelengthofshorteststringis: %d\n",n); printf("\nTheshorteststringis: %s\n",ss[k]); } 【参考答案】 (1)M (2)< (3)k 9.下列给定程序中,函数fun的功能是: 将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的次序。 例如,s所指的字符串为def35adh3kjsdf7,执行后结果为defadhajsdf3537。 请在程序的下划线处填入正确的内容把下划线删除,使程序得出正确的结果。 注意: 部分源程序在文件BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include voidfun(char*s) {inti,j=0,k=0;chart1[80],t2[80]; for(i=0;s[i]! ='\0';i++) if(s[i]>='0'&&s[i]<='9') { /**********found**********/ t2[j]=s[i];___1___; } elset1[k++]=s[i]; t2[j]=0;t1[k]=0; /**********found**********/ for(i=0;i /**********found**********/ for(i=0;i<___3___;i++)s[k+i]=t2[i]; } main() {chars[80]="ba3a54j7sd567sdffs"; printf("\nTheoriginalstringis: %s\n",s); fun(s); printf("\nTheresultis: %s\n",s); } 【参考答案】 (1)j++或j+=1或++或j=j+1 (2)s[i]=t1[i] (3)j 10下列给定程序中已建立一个带头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。 函数fun的功能是: 把形参x的值放入一个新结点并插入链表中,使插入后各结点数据域中的数据仍保持递增有序。 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意: 部分源程序在文件BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #include #defineN8 typedefstructlist {intdata; structlist*next; }SLIST; voidfun(SLIST*h,intx) {SLIST*p,*q,*s; s=(SLIST*)malloc(sizeof(SLIST)); /**********found**********/ s->data=___1___; q=h; p=h->next; while(p! =NULL&&x>p->data){ /**********found**********/ q=___2___; p=p->next; } s->next=p; /**********found**********/ q->next=___3___; } SLIST*creatlist(int*a) {SLIST*h,*p,*q;inti; h=p=(SLIST*)malloc(sizeof(SLIST)); for(i=0;i {q=(SLIST*)malloc(sizeof(SLIST)); q->data=a[i];p->next=q;p=q; } p->next=0; returnh; } voidoutlist(SLIST*h) {SLIST*p; p=h->next; if(p==NULL)printf("\nThelistisNULL! \n"); else {printf("\nHead"); do{printf("->%d",p->data);p=p->next;}while(p! =NULL); printf("->End\n"); } } main() {SLIST*head;intx; inta[N]={11,12,15,18,19,22,25,29}; head=creatlist(a); printf("\nThelistbeforeinserting: \n");outlist(head); printf("\nEnteranumber: ");scanf("%d",&x); fun(head,x); printf("\nThelistafterinserting: \n");outlist(head); } 【参考答案】 (1)x (2)p (3)s 11.下列给定程序中,函数fun的功能是: 将形参a所指数组中的前半部分元素中的值与后半部分元素中的值对换。 形参n中存放数组中数据的个数,若n为奇数,则中间的元素不动。 例如: 若a所指数组中的数据为: 1、2、3、4、5、6、7、8、9,则调换后为: 6、7、8、9、5、1、2、3、4。 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意: 部分源程序在文件BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #defineN9 voidfun(inta[],intn) {inti,t,p; /**********found**********/ p=(n%2==0)? n/2: n/2+___1___; for(i=0;i { t=a[i]; /**********found**********/ a[i]=a[p+___2___]; /**********found**********/ ___3___=t; } } main() {intb[N]={1,2,3,4,5,6,7,8,9},i; printf("\nTheoriginaldata: \n"); for(i=0;i printf("\n"); fun(b,N); printf("\nThedataaftermoving: \n"); for(i=0;i printf("\n"); } 【参考答案】 (1)1 (2)i (3)a[p+i]或*(a+p+i) 12.下列给定程序中,函数fun的功能是: 从形参ss所指字符串数组中,删除所有串长超过k的字符串,函数返回剩余字符串的个数。 ss所指字符串数组中共有N个字符串,且串长小于M。 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意: 部分源程序在文件BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #include #defineN5 #defineM10 intfun(char(*ss)[M],intk) {inti,j=0,len; /**********found**********/ for(i=0;i<__1__;i++) {len=strlen(ss[i]); /**********found**********/ if(len<=__2__) /**********found**********/ strcpy(ss[j++],__3__); } returnj; } main() {charx
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新计算机二级c语言上机题库及答案填空类 精品 最新 计算机 二级 语言 上机 题库 答案 填空