输入一个n行m列的矩阵A,输出它的转置AT。 【输入】 第一行包含两个整数n和m,表示矩阵A的行数和列数(1≤n≤100,1≤m≤100)。 接下来n行,每行m个整数,表示矩阵A的元素。相邻两个整数之间用单个空格隔开,每个元素均在1~1000之间。用C语言
时间: 2024-09-11 18:14:13 浏览: 58
从键盘输入一个3*3的矩阵,要求:输出此矩阵对应的转置矩阵(所谓转置,指的是对任意元素Pi,j和对应的Pj,i交换)。
要输出一个n行m列的矩阵A的转置AT,我们首先需要理解矩阵转置的含义。矩阵的转置是指将原矩阵的行换成列,列换成行。所以对于矩阵A,其转置矩阵AT将会是一个m行n列的矩阵。
下面是一个用C语言实现的示例代码,它读取矩阵的行数n和列数m,然后读取矩阵A的元素,并输出其转置矩阵AT:
```c
#include <stdio.h>
int main() {
int n, m;
scanf("%d %d", &n, &m); // 读取矩阵的行数和列数
int A[n][m]; // 声明矩阵A
int AT[m][n]; // 声明转置矩阵AT
// 读取矩阵A的元素
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
scanf("%d", &A[i][j]);
}
}
// 计算转置矩阵AT
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
AT[i][j] = A[j][i];
}
}
// 输出转置矩阵AT
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
printf("%d ", AT[i][j]);
}
printf("\n"); // 每输出一行转置矩阵后换行
}
return 0;
}
```
这段代码首先读取矩阵的行数和列数,然后读取矩阵A的元素,并通过嵌套循环计算出转置矩阵AT,最后输出转置矩阵AT。注意,在输出时,每输出一个元素后面都跟着一个空格,并在一行元素输出完毕后换行。
阅读全文