4.编写程序:对一个5X5的二维整型数组转置,即行列互换。要求从键盘输入数组的值,输出转置前及转置后的结果。用c语言编写
时间: 2024-12-27 16:31:36 浏览: 2
在 C 语言中,你可以使用两层嵌套循环来实现一个 5x5 的二维数组的转置。首先,你需要定义一个数组并获取用户输入,然后创建一个新的数组用于存储转置后的结果。最后,分别打印原数组和转置后的数组。以下是详细的步骤和示例代码:
```c
#include <stdio.h>
#define ROWS 5
#define COLS 5
// 定义二维数组结构
int arr[ROWS][COLS];
// 输入二维数组元素
void input_array() {
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
printf("请输入第 %d 行第 %d 列的元素: ", i+1, j+1);
scanf("%d", &arr[i][j]);
}
}
}
// 转置二维数组
void transpose() {
int transposed[COLS][ROWS]; // 新的转置数组
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
transposed[j][i] = arr[i][j];
}
}
}
// 打印原数组和转置后的数组
void print_arrays() {
printf("原数组:\n");
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
printf("转置后的数组:\n");
for (int i = 0; i < COLS; i++) {
for (int j = 0; j < ROWS; j++) {
printf("%d ", transposed[i][j]);
}
printf("\n");
}
}
int main() {
input_array();
transpose();
print_arrays();
return 0;
}
```
当你运行这个程序,它会提示你输入每个元素,然后显示原数组和转置后的数组。
阅读全文