如何让c语言的二维数组方阵行列互换
时间: 2024-09-26 09:02:10 浏览: 53
[例]输入一个*的数组将其行和列互换。-全国二级c语音
在C语言中,要交换二维数组(即方阵)的行和列,你可以创建临时变量来暂存数据,然后逐个元素地进行交换。这里提供一个简单的示例:
```c
#include <stdio.h>
void swap_rows_columns(int matrix[][N], int rows, int cols) {
// 获取矩阵的行数和列数
int n = sizeof(matrix) / sizeof(matrix[0]);
// 遍历每一行
for (int i = 0; i < rows; ++i) {
// 对每行的每个元素,找到对应的列下标
for (int j = 0; j < cols; ++j) {
// 暂存当前元素
int temp = matrix[i][j];
// 将当前元素放到新的位置(列变成行)
matrix[j][i] = temp;
// 行列交换后的临时存储
matrix[i][j] = temp; // 可选:如果你需要保留原始位置的数据,可以再放回原位置
}
}
}
// 示例用法
int main() {
int matrix[N][N]; // 假设 N 代表矩阵的实际大小
// ... 填充矩阵内容
printf("Original Matrix:\n");
// 打印原始矩阵
swap_rows_columns(matrix, N, N); // 交换行和列
printf("Transposed Matrix:\n");
// 打印交换后的矩阵
return 0;
}
```
阅读全文