c语言将二维数组a[N][N]中的元素行列互 换,存到本数组a[N][N]中的代码
时间: 2024-10-13 10:15:08 浏览: 46
在C语言中,要实现二维数组A[N][N]中元素的行列互换,可以采用两个嵌套循环来遍历数组,并在遍历时交换当前行和列的值。这里提供一个简单的示例:
```c
#include <stdio.h>
void swapRowsColumns(int a[][N], int N) {
for (int i = 0; i < N; ++i) { // 遍历每一行
for (int j = 0; j < N; ++j) { // 从左上角开始,逐列遍历并交换
int temp = a[i][j]; // 临时存储当前位置的值
a[i][j] = a[j][i]; // 将当前位置的值放到对应行的列上
a[j][i] = temp; // 将刚才存储的位置的值放回原位置
}
}
}
// 示例:假设a是一个已经初始化的N x N二维数组
int main() {
int a[N][N];
// 先填充一些数据
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
a[i][j] = i * N + j;
}
}
printf("Original array:\n");
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
printf("%d ", a[i][j]);
}
printf("\n");
}
swapRowsColumns(a, N);
printf("After swapping rows and columns:\n");
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
printf("%d ", a[i][j]);
}
printf("\n");
}
return 0;
}
阅读全文