c语言题库.doc_第1页
c语言题库.doc_第2页
c语言题库.doc_第3页
c语言题库.doc_第4页
c语言题库.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、程序填空题 请补充main()函数,该函数的功能是:计算3名学生各科的平均成绩。 例如,当scoreNM=85,62,895,60,69),90,96,845,100,85,92,97,86,73,85)时,五门学科的平均分为:8985867777797。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在main()函数的横线上填人所编写的若干表达式或语句。 试题程序: #include #include #defineN3 #defineM5 intmain() inti,j; staticfloatscoreNM一85,62,895,60,69), 90,96,845,100,85,92,97,86,73,85; staticfloatarr-N; system(CLS); for(i=0;iarri=00: for(i=0;i【1】;i+) for(j=0;jy【2】xz【3】yz 【解析】由程序最后的输出可知变量x中存放3个整数中最小的,变量z中存放3个整数中最大的。当x大于v时,变量x和y互换,因此,【1】处填xy。当x大于z时,变量x和z互换,因此,【2】处填xz。当y大于z时,变量Y和z互换,因此,【3】处填yz。一、程序填空题 数组xxM保存着一组4位无符号整数,其元素的个数通过变量num传人函数proc()。请补充函数proc(),该函数的功能是:从数组xx中找出个位和百位的数字相等的所有无符号整数,结果保存在数组yy中,其个数由函数proc()返回。 例如,当xx8=1111241323212222424533331414 5335)时,yy6=1111222233331414。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在函数proc的横线上填入所编写的若干表达式或语句。 试题程序: #include #include #include #defineM1000 intproc(intxx,intyy,intnum) inti,n=0; intg,b; for(i=0;i g=【1】; b=xxi10010; if(g=b) 【2】; return【3】; voidmain() intxx8=1111,2413,2321,2222,4245, 3333,1414,5335; intyyM; intnum=0,n=0,i=0; num=8; system(CLS)。 printf(*originaldata*n); for(i=0;iprintf(u,xxi); printf(nnn); n=proc(xx,yy,num); printf(nyy=); for(i=0;iprintf(u,yyi); 题答案与解析 一、程序填空题 【1】xxi10【2】yyn+=xxi【3】n 【解析】要找出个位和百位的数字相等的所有无符号整数,首先要得到数组xx中每一个元素的个位和百位数字,进行比较。因此,【1】处填XXi10。当个位和百位相等时,把数组XX中的该元素放到数组yy中。因此,【2】处填 yyn+=xxi。由函数proc()可知,数组yy的个数存放在变量n中,最后返回到主函数当中。因此,【3】处填n一、程序填空题 请补充main()函数,该函数的功能是:从键盘输入一组字符串,以“*”结束输入,并显示出这个字符串。 例如,输入ABCDEFG*,结果显示ABCDEFG。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在main()函数的横线上填人所编写的若干表达式或语句。 试题程序: #include #include #defineM80 voidmain() inti=-1,j=0; charstrM; system(CLS); printf(nInputastringn); do i+; scanf(【1】); while(【2】); printf(n*llisplaythestring*n); while(j printf(【3】); j+; 答案与解析 一、程序填空题 【1】c,&stri【Z】slri!=*【3】c,strj 【解析】由程序可知,从键盘输入的字符串存放在字符串变量str中。因此,【l】处填c,&stri”。题目中要求,字符串以“*”结束,语句while中的条件为字符串不结束的条件。因此,【2】处填“stri!=*”。printf用来格式化输出字符串str,变量j用来控制字符串的下标。因此,【3】处填“C,strj”。一、程序填空题 请补充main()函数,该函数的功能是:从键盘输入一组整数,使用条件表达式找出最大的整数。当输入的整数为。时结束。 例如,输入1,2,3,5,4,7,0时,最大的数为7。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在main()函数的横线上填入所编写出的若干表达式或语句。 试题程序: #include #include #include #defin,M100 voidmain() intnumM; inti=-1; intmax=0; svstem(CLS); printf(nlnputintegernumber:n); do i+; printf(numd=,i); scanf(d,【1】); max=【2】numi:max; while(【3】); printf(max=dn,max); 答案与解析 一、程序填空题 【1】&numi2lmaxnumi?【3】numi!=0 【解析】题目中要求从键盘输入一组整数,首先应该格式化输入一组整数。因此【1】处填“&numi”。要找出最大的整数,需要比较数组巾的每一个整数,该程序中使用的是条件表达式来判断。因此,【2】处填“max、程序填空题 请补充main()函数,该函数的功能是:把一个整数插入一个已经按从小到大排序的数组中。插入后,数组仍然有序。 例如,在数组bbM=10203040506070808595中插入75,结果为 bbM=1020304050607075808595 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在main()函数的横线上填入所编写的若干表达式或语句。 试题程序: #include #include #defineM10 voidmain() inti,j; intn; intbbM+1=10,20,30,40,50,60,70,80,85,95; system(CLS); printf(nlnputnn); scanf(d,n); printf(nn=d,n); printf(n*originallist*n); for(i=0;iprintf(4d,bbi); for(i=0;i if(ni【2】bbj=bbj-1【3】break 【解析】要把一个整数插入一个已经按从小到大排序的数组中,插入后,数组仍然有序。首先要找到应该插入的位置,将该位置的元素以及其后的元素向后移动一个位。因此,【1】处填“ji”;【2】处填“bbj=bbj-1”。然后将指定元素插入,结束循环,因此,【3】处填“break”。一、程序填空题 请补充函数proe(),该函数的功能是:按0到9统计一个字符串中的奇数数字字符各自出现的次数,结果保存在数组mum中(注意:不能使用字符串库函数)。 例如,输入“x=1581453927843770hfds574,结果为:1=2,3=2,5=3,7=4,9=1。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。 试题程序: #include #include #defineM1000 voidproc(char*str,intnum) inti,j; intbb10; char*p=str; for(i=0;i=0*p=9) 【2】; p+; for(i=1,j=0;i10;i=i+2,j+) 【3】; voidmain() charstrM; intnum10,k; system(CLS); printf(nPleaseenteracharstring:); gets(str); printf(n*Theoriginalstring*n); puts(str); proc(str,num); printf(n*Thenumberofletter*n); for(k=0;k5;k+) printf(n); printf(d=d,2*k+1,numk); printf(n); 答案与解析 一、程序填空题 【1】*p【2】bb*p-0+【3】numj=bbi 【解析】由函数proc可知字符型指针变量P指向字符串str,要统计一个字符串中的奇数数字字符各自出现的次数,需要检查字符串str中每一一个字符,因此,【1】处填“*p”。数组bb中存放奇数数字字符各自出现的次数,每检查到一个奇数数字字符,数字相应的元素值加1,因此【2】处填“bbL*p-0+”。按照题目中要求,结果保存在数组num中返回到主函数当中,因此,【3】处填“numj=bbi”。一、程序填空题 请补充函数proe(),该函数的功能是:按0到9统计一个字符串中的奇数数字字符各自出现的次数,结果保存在数组mum中(注意:不能使用字符串库函数)。 例如,输入“x=1581453927843770hfds574,结果为:1=2,3=2,5=3,7=4,9=1。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。 试题程序: #include #include #defineM1000 voidproc(char*str,intnum) inti,j; intbb10; char*p=str; for(i=0;i=0*p=9) 【2】; p+; for(i=1,j=0;i10;i=i+2,j+) 【3】; voidmain() charstrM; intnum10,k; system(CLS); printf(nPleaseenteracharstring:); gets(str); printf(n*Theoriginalstring*n); puts(str); proc(str,num); printf(n*Thenumberofletter*n); for(k=0;k longfun(intm) if(【1】) return(m*fun(【2】); return【3】; voidmain() printf(8!=1dn,fun(8); 答案与解析 一、程序填空题 【1】m1【2】m-1【3】1 【解析】(1)第一空是要根据m的取值来判断使用何种阶乘的计算公式的。这里根据第2句递归调用语句,可知该 语句是用来计算当m1时的阶乘。因此第一空if语句里面的条件应该是满足“m1”。所以,第一空应填“m1”。 (2)第二空很显然是采用递归函数来实现阶乘的计算, 所以,第二空应填“m-1”。 (3)第三空该语句是要实现当m-1时的阶乘计算。所以,第三空应填“1”。一、程序填空题 请补充函数proc(char*str),该函数的功能是把字符串中的内容逆置。 例如,字符串中原有的字符串为abcdef9,则调用该函数后,串中的内容变为gfedcba。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。 试题程序: #include #includet #include #include #defineM81 voidproc(char*str) 【2】; 【3】; voidmain() charstrM; system(CLS): printf(Enterastring:); gets(str); printf(Theoriginalstringis:); put

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论