#include
void swap(int *p1,int *p2) {
int p; p=p1; p1=p2; p2=p; }
void sort(int a[N][N]) {
int i,j,k;
for(i=0;i
for(j=0;j
for(k=j+1;k
if(i%2==0?a[i][j]a[i][k]) swap(a[i]+j,a[i]+k); }
void main() {
int a[N][N]={{3,4,2,1},{8,7,5,6},{12,10,11,9},{15,14,16,13}}; int i,j;
sort(a[N][N]); for(i=0;i
for(j=0;j
【要求】
? 将上述程序录入到文件myf1.c中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。 ? 改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或者编译预处理命令,但不能增加其他语句,也不能删去整条语句。
? 将改正后的源程序myf1.c保存在考试盘的根目录下,供阅卷用,否则不予评分。
二、编程题 【编程要求】
1.编写函数fun,它的功能是:移动字符串中的内容,移动的规则如下:把第1到第m个字符平移到字符串的最后,把第m+1到最后的字符串移动字符串的前部。例如:字符串中原有的内容为:ABCDEFGHIJK,m的值为3,则移动后,字符串中的内容应该是:DEFGHIJKABC.
2.编写main函数。在main函数中初始化一个字符串,调用函数fun,将结果字符串及函数返回值写入到文件myf2.out中。最后将考生本人的准考证号字符串也保存到结果文件myf2.out中。 【要求】
? 源程序文件名必须取为myf2.c,输出结果文件名必须取为myf2.out
? 数据文件的打开、使用和关闭均用C语言标准库中缓冲文件系统的文件操作函数实现。 ? 源程序文件和运行结果文件必须保存在考试盘的根目录下,供阅卷用。 ? 不要复制扩展名为OBJ和EXE的文件到考试盘上。
模拟测试题八
一、改错题 【程序功能】
函数HolandFlag的功能是:已知在flag指向的有n个元素的字符数组中,每个元素的值是字符’R’、’W’或’B’中的一个。函数按照’R’、’W’、’B’的顺序重新排列flag数组中所有元素的值。 算法提示:
若flag数组初始值为RBWBRWRBW,则在flag数组中出现数据交换的步骤与效果为: 第1步:flag[1]与flag[8]交换后数据为RWWBRWRBB 第2步:flag[3]与flag[6]交换后数据为RWWRRWBBB 第3步:flag[1]与flag[4]交换后数据为RRWRWWBBB 第4步:flag[2]与flag[3]交换后数据为RRRWWWBBB 【测试数据与运行结果】 测试数据:RBWBRWRBW 运行结果:RRRWWWBBB 【含有错误的源程序】 #include