将一个二维数组行和列元素交换,用C语言代码给出
时间: 2024-03-08 08:46:53 浏览: 101
numpy.ndarray 交换多维数组(矩阵)的行/列方法
5星 · 资源好评率100%
以下是将一个二维数组行和列元素交换的C语言代码:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
void swapRowsAndColumns(int arr[][3], int rows, int cols) {
// 交换行和列
for (int i = 0; i < rows; i++) {
for (int j = i; j < cols; j++) {
swap(&arr[i][j], &arr[j][i]);
}
}
}
int main() {
int arr[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
printf("交换前的二维数组:\n");
// 打印原始的二维数组
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
swapRowsAndColumns(arr, 3, 3);
printf("交换后的二维数组:\n");
// 打印交换后的二维数组
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
```
该程序中,`swap`函数用于交换两个整数的值,`swapRowsAndColumns`函数用于交换二维数组的行和列,`main`函数中先打印原始的二维数组,然后调用`swapRowsAndColumns`函数交换行和列,最后打印交换后的二维数组。
阅读全文