国家二级(C语言)机试模拟试卷15.pdfVIP

  • 0
  • 0
  • 约2.88万字
  • 约 16页
  • 2026-01-19 发布于河北
  • 举报

国家二级(C语言)机试模拟试卷第1

一、程序填空题(本题共I题,每题1.0分,共J分0)

1、请补充main函数,函数的功能是:从键盘输入一个字符串及一个指定字符,

然后把这个字符及其后面的所有字符全部删除。结果仍然保存在原串中。例如,

输入“abcdef,,指定字符为冶则输出“abed”。注意:部分源程序给出如下。请勿

改动主函数main和其他函数中的任何内容,仅在main函数的横线上填入所编写的

若干表达式或语句。试题程序:#includestdio.h#defineN80main(){inti=0;

M

charstrN;charch;clrscr();printf{\nInputastring:\n);gets(str);printfC^nInputa

u,,

charator;\n);scanf(%c”,ch);while(str[i]!=\0){if(str[i]=ch)[][1;|

MM

stri]=[];printf{\n***displaystring***\n);puts(str);}

标准答案:break;i-H-

知识点解析:第一空:while循环的作用是找到字符串srt中与指定字符ch相同的

字符。当找到的时候,就使用break语句跳出循环。第二空:通过i++依次访问字

符小str中的各个字符。第三空:在字符串str中与指定字符ch相同的字符位置上

赋值,(T,这样输出字符中srt时,就不会输出指定字符及其后面的所有字符了。

二、程序修改题(本题共1题,每题1.0分,共/分C)

2、下列给定程序中,函数fun()的功能是:用冒泡法对6个字符串按由小到大的顺

序进行排序。请改正程序中的错误,使它能得出正确的结果。注意:不要改动

main函数,不得增行或删行,也不得更改程序的结构.试题程序:include

conio.hincludestdio.h#defineMAXLINE20

/*************found**************/fun(char*pstr6]){inti,j;char*p;for(i=0:i

5“++){fbr(j=i+lj,6j++)/*************Sund**************/

{if(strcmp(*(pstr+i),pstr-j)0){p=*(pstl+i);/*************found**************/

*(pstr+i)-pstr+j;*(pstr+j)=p;})))main()(inti;char*pstr[6],str[6][MAXLINE];

clrscr();for(i=0;i6;i++)pstri=stri];printf(\nEnter6slring(lstringateachline):\n

,,,1

);for(i=0;i6;i++)scanf(%s,pstr[i]);fun(pstr);printf(Thestringsaftersorting:\n);

for(i=0;i6;i++)printf(%s\nu,pstr[i]);}

标准答案:(1)错误:fun(char*pstr[6])正确:voidfunfehar*pstr[6])(2)错误:

if(strcmp(*(pstr+i),pstr+jjO正确:if(strcmp(*(pstr+i),*(pstr+j))0(3)错误:

*(pstr+i)=pstr+

文档评论(0)

1亿VIP精品文档

相关文档