14-1 改错题

测试数据来自 nnu_contest/5c63d862f41362044d570040

作业已超过截止时间,您无法递交本题目。

对n行n列(n<10)二维数组的每一行排序,偶数行(0当作偶数)由小到大排序,奇数行由大到小排序。
【含有错误的源程序】
#include <stdio.h>
#define N=4
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<N; i++)
for(j=0; j<N; j++)
for(k=j+1; k<N; k++)
if(i%2=0)
{
if(a[i][j]>a[i][k])
swap(a[i]+j,a[i]+k);
}
else
{
if(a[i][j]<a[i][k])
swap(a[i]+j,a[i]+k);
}
}
int main()
{
int a[N][N];
for(i=0; i<N; i++)
for(j=0; j<N; j++)
scanf("%d", &a[i][j]);
sort(a[N][N]);
int i,j;
for(i=0; i<N; i++)
{
for(j=0; j<N; j++)
printf("%5d", a[i][j]);
printf("\n");
}
return 0;
}

测试案例:
输入:

4
3   4   2    1
8   7   5    6
12  10  11   9
15  14  16   13

输出:

1   2   3  4
8   7   6  5
9  10  11  12
16  15  14  13

计算机二级上机模拟题(第二波)

未认领
状态
已结束
题目
18
开始时间
2024-03-05 00:00
截止时间
2024-03-24 23:59
可延期
24.0 小时