跳到主要内容

C 编程:寻找矩阵的转置

要理解这个示例,你应该掌握以下 C 语言编程 主题的知识:

矩阵的转置是通过交换行和列获得的新矩阵。

在这个程序中,用户被要求输入行数 r 和列数 c。在这个程序中,它们的值应小于 10。

然后,用户被要求输入矩阵的元素(顺序为 r*c)。

下面的程序计算矩阵的转置并在屏幕上打印出来。

程序:查找矩阵的转置

#include <stdio.h>
int main() {
int a[10][10], transpose[10][10], r, c;
printf("输入行数和列数:");
scanf("%d %d", &r, &c);

// 为矩阵分配元素
printf("\n输入矩阵元素:\n");
for (int i = 0; i < r; ++i)
for (int j = 0; j < c; ++j) {
printf("输入元素 a%d%d:", i + 1, j + 1);
scanf("%d", &a[i][j]);
}

// 打印矩阵 a[][]
printf("\n输入的矩阵:\n");
for (int i = 0; i < r; ++i)
for (int j = 0; j < c; ++j) {
printf("%d ", a[i][j]);
if (j == c - 1)
printf("\n");
}

// 计算转置
for (int i = 0; i < r; ++i)
for (int j = 0; j < c; ++j) {
transpose[j][i] = a[i][j];
}

// 打印转置
printf("\n矩阵的转置:\n");
for (int i = 0; i < c; ++i)
for (int j = 0; j < r; ++j) {
printf("%d ", transpose[i][j]);
if (j == r - 1)
printf("\n");
}
return 0;
}

输出

输入行数和列数:2
3

输入矩阵元素:
输入元素 a11:1
输入元素 a12:4
输入元素 a13:0
输入元素 a21:-5
输入元素 a22:2
输入元素 a23:7

输入的矩阵:
1 4 0
-5 2 7

矩阵的转置:
1 -5
4 2
0 7