本关任务:编写并测试 3×3 矩阵转置函数,使用数组保存 3×3 矩阵。
时间: 2023-11-30 20:31:08 浏览: 176
任务三 函数与预处理命令.pdf
好的,我来帮你完成这个任务。
矩阵转置是将矩阵的行与列对调后得到的新矩阵。对于一个 3×3 的矩阵来说,转置后的矩阵也是 3×3 的。我们可以通过一个双重循环来实现矩阵转置。具体实现如下:
```c
#include <stdio.h>
void transpose(int matrix[3][3]) {
int i, j, temp;
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;
}
}
}
int main() {
int matrix[3][3] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
int i, j;
printf("原始矩阵:\n");
for(i = 0; i < 3; i++) {
for(j = 0; j < 3; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
transpose(matrix);
printf("转置矩阵:\n");
for(i = 0; i < 3; i++) {
for(j = 0; j < 3; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
return 0;
}
```
上面的代码中,我们定义了一个 `transpose` 函数来实现矩阵转置。在 `main` 函数中,我们首先定义了一个 3×3 的矩阵,然后输出原始矩阵,调用 `transpose` 函数进行转置,最后输出转置后的矩阵。
你可以将上面的代码复制到一个 C 语言编译器中进行编译和运行,看一下输出结果。如果有任何问题欢迎继续向我提问。
阅读全文