编写c语言程序实现以下要求:设A为m×n阶j矩阵(即m行n列),第i 行j 列的元素是a[i][j]。定义A的转置为一个n×m阶矩阵B,其中b[i][j] = a[j][i] ,即B的第i行第j列元素是A的第j行第i列元素,记A'=B,输入 输入测试次数 每组测试数据格式如下: 输入n,m表示矩阵A有n行,m列 接下来输入n行,每行m个数(n<10,m<10) 输出 对每组测试数据,输出转置后的m行n列数据。输入案例3 2 2 1 3 2 1 3 2 10 20 3 4 40 6 4 4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16。输出1 2 3 1 10 3 40 20 4 6 1 5 9 13 2 6 10 14 3 7 11 15 4 8 12 16
时间: 2024-03-21 14:43:40 浏览: 48
以下是对应的 C 语言代码实现:
```c
#include <stdio.h>
int main() {
int T; // 测试次数
scanf("%d", &T);
while (T--) {
int n, m; // 矩阵的行数和列数
scanf("%d%d", &n, &m);
int matrix[n][m], transpose[m][n]; // 矩阵和转置矩阵
// 输入矩阵
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
scanf("%d", &matrix[i][j]);
}
}
// 转置矩阵
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
transpose[i][j] = matrix[j][i];
}
}
// 输出转置矩阵
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
printf("%d ", transpose[i][j]);
}
printf("\n");
}
}
return 0;
}
```
输入示例:
```
3
2 2
1 3
2 1
10 20
3 4
40 6 4 4
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
```
输出示例:
```
1 2
3 1
10
20
40 1 5 9 13
6 2 6 10 14
4 3 7 11 15
4 4 8 12 16
```
阅读全文