C语言给定一个二维数组,对该二维数组进行转置并输出
时间: 2024-08-12 21:08:20 浏览: 51
在C语言中,对一个二维数组进行转置,就是交换数组的行和列。以下是一个简单的示例代码,它展示了如何使用嵌套循环来实现二维数组的转置:
```c
#include <stdio.h>
// 假设我们有一个3x3的二维数组
#define ROWS 3
#define COLS 3
void transpose(int arr[ROWS][COLS]) {
int transposed[COLS][ROWS]; // 新建一个转置后同样大小的数组
// 循环遍历原数组,将行元素复制到转置数组的列
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
transposed[j][i] = arr[i][j]; // 交换arr[i][j]的值到transposed[j][i]
}
}
// 输出转置后的数组
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
printf("%d ", transposed[i][j]);
}
printf("\n"); // 换行
}
}
int main() {
int arr[ROWS][COLS] = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
transpose(arr); // 调用转置函数
return 0;
}
```
运行这个程序后,你会看到原始数组的转置版本。注意,这个例子假设你知道输入数组的行数和列数。如果你需要处理不同大小的数组,可以添加一些边界检查或参数。
阅读全文