国家二级c语言上机考试分类程序填空.docx
- 文档编号:5458350
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:114
- 大小:668.65KB
国家二级c语言上机考试分类程序填空.docx
《国家二级c语言上机考试分类程序填空.docx》由会员分享,可在线阅读,更多相关《国家二级c语言上机考试分类程序填空.docx(114页珍藏版)》请在冰豆网上搜索。
国家二级c语言上机考试分类程序填空
填空
1
#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
#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
#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
#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 #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 #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 #include /**********found**********/ ___1___fun(charch) { /**********found**********/ if(ch>='0'&&___2___) /**********found**********/ return'9'-(ch-___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 #include #include #defineM5 #defineN20 intfun(char(*ss)[N],int*n) {inti,k=0,len=N; /**********found**********/ for(i=0;i<___1___;i++) {len=strlen(ss[i]); if(i==0)*n=len; /**********found**********/ if(len___2___*n) {*n=len; k=i; } } /**********found**********/ return(___3___); } 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 #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 #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 #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 #include voidfun(char*s) {inti,n,k;charc; n=0; for(i=0;s[i]! ='\0';i++)n++; /**********found**********/ if(n%2==0)k=n-___1___; elsek=n-2; /**********found**********/ c=___2___; for(i=k-2;i>=1;i=i-2)s[i+2]=s[i]; /**********found**********/ s[1]=___3___; } main() {chars[80]="abcdefgh"; printf("\nTheoriginalstringis: %s\n",s); fun(s); printf("\nTheresultis: %s\n",s); } 【参考答案】 (1)1 (2)s[k]或*(s+k) (3)c 13 #include voidfun(char*s) {inti,n,k;charc; n=0; for(i=0;s[i]! ='\0';i++)n++; /**********found**********/ if(n%2==0)k=n-___1___; elsek=n-2; /**********found**********/ c=___2___; for(i=k-2;i>=1;i=i-2)s[i+2]=s[i]; /**********found**********/ s[1]=___3___; } main() {chars[80]="abcdefgh"; printf("\nTheoriginalstringis: %s\n",s); fun(s); printf("\nTheresultis: %s\n",s); } 【参考答案】 (1)1 (2)s[k]或*(s+k) (3)c 14 #include #include #defineN5 #defineM8 intfun(char(*ss)[M],char*t) {inti; /**********found**********/ for(i=0;i<__1__;i++) /**********found**********/ if(strcmp(ss[i],t)==0)return__2__; return-1; } main() {charch[N][M]={"if","while","switch","int","for"},t[M]; intn,i; printf("\nTheoriginalstring\n\n"); for(i=0;i printf("\nEnterastringforsearch: ");gets(t); n=fun(ch,t); /**********found**********/ if(n==__3__)printf("\nDon'tfound! \n"); elseprintf("\nThepositionis%d.\n",n); } 【参考答案】 (1)N (2)i (3)-1 15 #include #include #defineN8 typedefstructlist {intdata; structlist*next; }SLIST; voidfun(SLIST*p) {SLIST*t,*s; t=p->next;s=p; while(t->next! =NULL) {s=t; /**********found**********/ t=t->___1___; } /**********found**********/ printf("%d",___2___); s->next=NULL; /**********found**********/ free(___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; inta[N]={11,12,15,18,19,22,25,29}; head=creatlist(a); printf("\nOutputfromhead: \n");outlist(head); printf("\nOutputfromtail: \n"); while(head->next! =NULL){ fun(head); printf("\n\n"); printf("\nOutputfromheadagain: \n");outlist(head); } } 【参考答案】 (1)next (2)t->data (3)t 16 #include voidfun(inta[],intn) {inti,t; /**********found**********/ for(i=0;i<___1___;i++) { t=a[i]; /**********found**********/ a[i]=a[n-1-___2___]; /**********found**********/ ___3___=t; } } main() {intb[9]={1,2,3,4,5,6,7,8,9},i; printf("\nTheoriginaldata: \n"); for(i=0;i<9;i++) printf("%4d",b[i]); printf("\n"); fun(b,9); printf("\nThedataafterinvert: \n"); for(i=0;i<9;i++) printf("%4d",b[i]); printf("\n"); } 【参考答案】 (1)n/2 (2)i (3)a[n-i-1] 17 #include #include intfun(char*source,char*target) {FILE*fs,*ft;charch; /
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 国家 二级 语言 上机 考试 分类 程序 填空