用C语言实现二维数组的输入输出与转置
时间: 2023-10-26 16:07:12 浏览: 143
二维数组的输入输出可以通过循环遍历数组实现,而转置则需要对数组进行行列交换。以下是示例代码:
```c
#include <stdio.h>
#define ROWS 3
#define COLS 4
int main() {
int arr[ROWS][COLS], transposed_arr[COLS][ROWS];
// 输入二维数组
printf("请输入一个 %d x %d 的矩阵:\n", ROWS, COLS);
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
scanf("%d", &arr[i][j]);
}
}
// 输出二维数组
printf("输入的矩阵为:\n");
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
printf("%d\t", arr[i][j]);
}
printf("\n");
}
// 转置二维数组
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
transposed_arr[j][i] = arr[i][j];
}
}
// 输出转置后的二维数组
printf("转置后的矩阵为:\n");
for (int i = 0; i < COLS; i++) {
for (int j = 0; j < ROWS; j++) {
printf("%d\t", transposed_arr[i][j]);
}
printf("\n");
}
return 0;
}
```
注意这里使用了宏定义 `ROWS` 和 `COLS` 来定义数组的行数和列数,方便后续修改。
阅读全文