c语言矩阵3x3转置
时间: 2023-12-02 11:42:07 浏览: 105
以下是C语言实现3x3矩阵转置的代码:
```c
#include <stdio.h>
int main() {
int a[3][3];
// 输入矩阵
for (int k = 0; k < 3; k++) {
for (int z = 0; z < 3; z++) {
scanf("%d", &a[k][z]);
}
}
// 转置矩阵
for (int k = 0; k < 3; k++) {
for (int z = k + 1; z < 3; z++) {
int temp = a[k][z];
a[k][z] = a[z][k];
a[z][k] = temp;
}
}
// 输出矩阵
for (int k = 0; k < 3; k++) {
for (int z = 0; z < 3; z++) {
if (z != 2) {
printf("%d ", a[k][z]); } else {
printf("%d", a[k][z]);
}
}
printf("\n");
}
return 0;
}
```
相关问题
c语言3x3矩阵的转置
以下是C语言中实现3x3矩阵转置的代码示例:
```c
#include <stdio.h>
int main() {
int matrix[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int i, j, temp;
printf("Original matrix:\n");
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
// 转置矩阵
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("Transposed matrix:\n");
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
return 0;
}
```
运行结果如下:
```
Original matrix:
1 2 3
4 5 6
7 8 9
Transposed matrix:
1 4 7
2 5 8
3 6 9
```
c语言2x3矩阵的转置
在C语言中,矩阵的转置是一个常见的操作,特别是在处理线性代数问题时。对于一个2x3的矩阵,其转置意味着行变成列,列变成行。假设我们有一个这样的矩阵:
```
| a11 | a12 | a13 |
| a21 | a22 | a23 |
```
它的转置会变成:
```
| a11 | a21 |
| a12 | a22 |
| a13 | a23 |
```
下面是一个简单的示例代码片段,展示了如何通过指针和临时变量来实现这个操作:
```c
#include <stdio.h>
void transpose(int matrix[2][3], int transposed_matrix[3][2]) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
transposed_matrix[j][i] = matrix[i][j];
}
}
}
// 示例
int main() {
int original[2][3] = { {1, 2, 3}, {4, 5, 6} };
int transposed[3][2];
transpose(original, transposed);
// 输出转置后的矩阵
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 2; j++) {
printf("%d ", transposed[i][j]);
}
printf("\n");
}
return 0;
}
```
运行上述代码,你会看到原始矩阵的转置结果。
阅读全文