C语言程序设计填空题.docx
1填空题(25)6、给定程序功能是用冒泡法对6个字符串进行排序。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的blank6.c中。不得增行或删行,也不得更改程序的结构!*blank6.c*/include<stdio.h>#defineMAX1.INE20fun(char*pstr6)itIj;char*p;for(i=0;i<5;i+)for(j=i+1;j<6;j+)*3c*4c*found*if(strcmp(*(pstr+i),1)>0)P=*(pstr+i);*3c*4c*found*pstri=_2./*f0und本*(pstr+j)=_3_;)main()inti;char*pstr6zstr6MAX1.INE;for(i=0;i<6;i+)pstri=stri;printf(',nEnter6string(lstringateachline):n");for(i=0;i<6;i+)scanf("%s"zpstri);fun(pstr);printf(,Thestringsaftersorting:n");for(i=0;i<6;i+)printf("%sn",pstri);/blank6.c参考答案:/*木*found*4c*if(strcmp(*(pstr+i)z*(pstr+j)>O)*/*木*found*pstri=pstrj;/*found4c*(pstr+j)=p;7、给定程序的功能是将十进制正整数m转换成k进制(2k49)数的数字输出。例如,若输入8和2,则应输出100O(即十进制数8转换成二进制表示是1000)。请在程序的卜.划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的blank7.c中。不得增行或删行,也不得更改程序的结构!*blank7.c*/#include<stdio.h>voidfun(intm,intk)intaa2Ozi;for(i=0;m;i+)/*found*/aai=1_*/*found,m/=_2_;)for(;i;i-)*/*found,printf("%d",3i-1);main()intb,n;printf(,Pleaseenteranumberandabase:n");scanf("%d%d",&n,&b);fun(n,b);/blank7.c参考答案:*found*/aai=m%k;*found*jm/=k;/found*/printf("%d,aai-1);8、给定程序的功能是将未在字符串S中出现,而在字符串t中出现的字符,形成一个新的字符串放在U中,u中字符按原字符串中字符顺序排序,但去掉重复字符。例如:当s="12345",t="24677”时,U中的字符为:"67".请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的blank8.c中。不得增行或删行,也不得更改程序的结构!*blank8.c*/#include<stdio.h>#include<string.h>voidfun(char*s,char*t,char*u)inti,j,si,tl,k,ul=0;si=strlen(三);tl=strlen(t);for(i=0;i<tl;i+)for(j=0;j<sl;j+)if(ti=sj)break;if(j>=sl)for(k=0;k<ul;k+)/*found*/if(ti=uk)_l_if(k>=ul)/*found*/uul+=_2_;/*found*/_3_='0'main()chars100,tl,u100;printf("nPleaseenterstrings:");scanf("%s"zs);Printf("nPleaseenterstringt:");scanf("%s"zt);fun(s,t,u);printf("Theresultis:%sn"zu);)/blank8.C参考答案:*found*/if(ti=uk)break;*found*/uul+=ti;*found*/uul='0'10、给定程序的功能是将在字符串S中下标为奇数位置上的字符,紧随其后重复出现一次,放在一个新串t中,t中字符按原字符串中字符出现的逆序排列。(注意。为偶数)例如:当S中的字符串为:"1234567”时,则t中的字符串应为:"664422”.请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的blankl.c中。不得增行或删行,也不得更改程序的结构!*bIanklO.c*/include<stdio.h>include<string.h>voidfun(char*s,char*t)itU,si;si=strlen(三);/*found*/if(sl%2)sl-=2;_1_si-;*found*/for(i=slzj=2;i>=0;i-=2)*/t2*j=si;/*"oundt2*j+l=_j+;t2*j='O'main()chars100zt100;printf("nPleaseenterstrings:");scanf("%s",s);fun(s,t);printf("Theresultis:%sn",t);)/blankl.c参考答案:*4c*found*/if(sl%2)sl-=2;elsesl-;*found*/for(i=slzj=0;i>=0;i-=2)/*found*/t2*j+1=si;11、给定程序的功能是将大写字母转换为对应小写字母之后的第五个字母:若小写字母为VZ,使小写字母的值减21。转换后的小写字母作为函数值返回。例如,若形参是字母A,则转换为小写字母f;若形参是字母IV,则转换为小写字母b。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的blank”,c中。不得增行或删行,也不得更改程序的结构!*blankl1.c*/include<stdio.h>include<ctype.h>charfun(charc)if(c>=,A,&&c<='Z')c=c+32;if(c>='a,&&c<=,u,)*found*jc=c+1;elseif(c>=,v,8t8tc<='z')c=c-21;*found*/return2;)main()charcl,c2;printf("nEnteraIetter(A-Z):");cl=getchar();if(isupper(cl)*found*/c2=fun(_3_);printf("nnTheletter,%c,changeto,%c,r,cl,c2);elseprintf("nEnter(A-Z)!n11);/blankll.C参考答案:*found*/c=c+5;*d*found*/returnc;*found*/c2=fun(cl);12、给定程序功能是计算5=久-2+£(+1)+.+双0)+仪1)+。2)+.+£(11)的值。例如,当n为5时,函数值应为:10.407143or(x+l)(-2)f(x)=TO1.(-l)(-2)x>0x=0或x=2x<0请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的blankl2c中。不得增行或删行,也不得更改程序的结构!*blankl2.c*/include<stdio.h>#include<math.h>floatf(doublex)if(x=0.011X=2.0)/*return*fond*/1;elseif(x<0.0)return(x-l)(x-2);elsereturn(x+l)(x-2);)doublefun(intn)inti;doubles=0.0zy;*found*/for(i=-n;i<=2;i+)y=f(1.0*i);s+=y;*found*/return3;)main()printf("%fn"/fun(5);)/blankl2.c参考答案:*found*/return0.0;/*found*/for(i=-n;i<=n;i+)*found*/return