沿对角线对调即交换a[i][j]和a[j][i]
C语言代码为:
运行结果为:
输出符合要求,望采纳~
附源码:
#include <stdio.h>
#define N 4
void print(int a[][N]) { // 打印二维数组
int i, j;
for (i = 0; i < N; i++) {
for (j = 0; j < N; j++)
printf("%d ", a[i][j]);
printf("\n");
}
}
void rotate(int a[][N]) { // 对调,交换a[i][j]与a[j][i]
int i, j, t;
for (i = 0; i < N; i++) {
for (j = 0; j < i; j++) {
t = a[i][j];
a[i][j] = a[j][i];
a[j][i] = t;
}
}
}
int main() {
int a[N][N], i, j;
for (i = 0; i < N; i++) { // 输入二维数组
for (j = 0; j < N; j++)
scanf("%d", &a[i][j]);
}
printf("原数组:\n");
print(a);
rotate(a);
printf("对调后:\n");
print(a);
return 0;
}