试题及答案14

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

程序填空题

给定程序的功能是:从键盘输入若干行文本(每行不超过80个字符),写到文件myfile4.txt 中,用-1(独立一行)作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText和WriteText实现。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

注意:源程序存放在考生文件夹下的BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

本题考核点为:文件的读写函数等。

题中第一个空填"*fw":fw是一个文件指针,从键盘上读入数据,输入其所指向的文件中。

题中第二空填"str":fputs函数向文件中写数据,其函数原型为:fputs(ch,fp) 其中ch是要输出的字符,它可以是一个字符常量,也可以是一个字符变量。fp是文件指针变量。

题中第三个空填"str":printf函数的一般格式为:

printf(格式控制,输出表列)

1、"格式控制"是用双引号括起来的字符串,也称"转换控制字符串",它包括两种信息:

格式说明:由"%"和格式字符组成,如%d,%f等。它的作用是将输出的数据转换为指定的格式输出。格式说明总是由"%"字符开始的。

普通字符,即需要原样输出的字符。

2、"输出表列":是需要输出的一些数据,可以是表达式。

本评析仅作参考。

程序修改题

给定程序modi.c中,函数fun的功能是:从字符串s中删除所有小写字母c。

请改正程序中的错误,使它能得出正确结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

本题着重考察考生对C语言中一些简单算法的掌握情况。

本题中的第一个错误:j值在条件语句中应自增,所以程序中语句"s[j]=s[i];"应改为"s[j++]=s[i];"

本题中的第二个错误:变量i是控制原串的下标的,变量j才是删除后串的下标,所以程序中语句"s[i]='\0';"应改为"s[j]='\0';"或相同作用的语句。

本评析仅作参考。

程序设计题

请编写一个函数 int fun(int *s, int t, int *k),用来求出数组的最大元素在数组中的下标, 用k返回。

例如,输入如下整数:

876 675 896 101 301 401 980 431 451 777

则输出结果为: 6, 980

注意:部分源程序存在文件prog.c中。

请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

本题的考核点是求数组中的最大元素在数组中的下标。

解题思路:

1、定义变量max_integer,用以存放数组s[]中的最大元素;

2、建立循环,查找出数组s[]中的最大元素;

3、将查找到的最大元素的下标赋给k,并传回主函数。

int fun(int *s, int t, int *k)

{

int max_integer=0; /*定义变量max_integer,用以存放数组s[]中的最大元素*/

int i=0;

max_integer = s[0]; /*假定第一个数组元素为最大*/

for(i=0; i

/*将查找到的最大元素的下标赋给k,并传回主函数*/

if(max_integer

max_integer=s[i];

*k=i;

}

}

return *k;

}

相关文档
最新文档