c语言输入一个3*3的矩阵,将其转置(行列交换)后输出
时间: 2024-02-16 08:59:34 浏览: 338
好的,可以这样来实现:
```c
#include <stdio.h>
int main()
{
int matrix[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int transpose_matrix[3][3];
int i, j;
// 转置矩阵
for(i = 0; i < 3; i++)
{
for(j = 0; j < 3; j++)
{
transpose_matrix[i][j] = matrix[j][i];
}
}
// 输出转置后的矩阵
for(i = 0; i < 3; i++)
{
for(j = 0; j < 3; j++)
{
printf("%d ", transpose_matrix[i][j]);
}
printf("\n");
}
return 0;
}
```
这样就可以将输入的3*3矩阵转置并输出了。
相关问题
C语言编写输入一个3*3的矩阵,将其转置(行列交换)后输出。
可以使用二维数组来表示一个3*3的矩阵,然后通过循环将其转置,最后输出转置后的矩阵即可。以下是示例代码:
```c
#include <stdio.h>
int main() {
int matrix[3][3];
int i, j, temp;
// 输入矩阵
printf("请输入一个3*3的矩阵:\n");
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
scanf("%d", &matrix[i][j]);
}
}
// 转置矩阵
for (i = 0; i < 3; i++) {
for (j = i + 1; j < 3; j++) {
temp = matrix[i][j];
matrix[i][j] = matrix[j][i];
matrix[j][i] = temp;
}
}
// 输出矩阵
printf("转置后的矩阵为:\n");
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
return 0;
}
```
注意,上述代码中的转置算法是在不使用额外数组的情况下进行的,即直接在原矩阵上进行交换。如果需要将转置后的矩阵保存在一个新的数组中,可以使用一个新的二维数组来存储。
用c语言将一个3*3的矩阵转置,行列互换
下面是一个用 C 语言实现的 3x3 矩阵转置的示例代码:
```c
#include <stdio.h>
int main() {
int matrix[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int temp;
printf("Original matrix:\n");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
// Transpose the matrix
for (int i = 0; i < 3; i++) {
for (int j = i+1; j < 3; j++) {
temp = matrix[i][j];
matrix[i][j] = matrix[j][i];
matrix[j][i] = temp;
}
}
printf("\nTransposed matrix:\n");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
return 0;
}
```
这个程序首先定义了一个 3x3 的矩阵 `matrix`,然后打印出它的原始值。然后,程序使用两个嵌套的循环遍历矩阵中的所有元素,并将每个元素的行和列交换。最后,程序再次打印出转置后的矩阵。