一、改错题(20分)
【程序功能】
在字符串str1中最大编码值元素之后插入字符串str2,输出插入字符串str2后str1字符串及str1中最大编码值元素的下标。
【测试数据与运行结果】
str1中原字符串为“It is y and no”,str2中字符串为“es”。程序正确时应输出str1中字符串为“It is yes and no”及最大编码值元素的下标6。
【含有错误的程序】
【要求】
1. 将上述程序录入到文件myf1.c中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。
2. 改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预处理命令,但不能增加其它语句,也不能删去整条语句。
3. 改正后的源程序(文件名myf1.c)必须复制到“学号姓名试卷号”文件夹中供阅卷用。
二、编程题(20分)
【编程要求】
1.编写函数int reverse(int m,int n,int x[]),求整数m~n之间(m<n)所有数的反序数并统计反序数中素数的个数,将得到的反序数依次存入数组x中,函数的返回值是反序数中素数的个数。反序数:将原数各位数字颠倒后得到的数,例如:123的反序数为321,70的反序数为7。
2.编写main函数,接收键盘输入的m和n的值,调用函数reverse求m~n之间的所有元素的反序数并统计反序数中素数的个数,将结果数组及素数的个数输出到屏幕并保存到结果文件中。
【测试数据与运行结果】
当m=29、n=38时,输出结果应为:92 3 13 23 33 43 53 63 73 83 (换行) prime counts=7。
【要求】
1. 源程序文件名为myf2.c,结果文件名为myf2.out
2. 数据文件的打开、读/写、关闭均用C语言函数库中的文件操作函数实现。
3.源程序文件和结果文件均需复制到“学号姓名试卷号”文件夹中供阅卷用。不要复制扩展名为obj和exe的文件。