写一函数,将一个3ⅹ3的整型矩阵转置 c语言
时间: 2024-05-22 21:16:23 浏览: 23
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;
}
}
}
相关问题
用c语言写一函数,将一个3×3的整型矩阵转置。
下面是一个将3x3的整型矩阵转置的C语言函数:
```c
void transpose(int matrix[3][3]) {
int i, j, temp;
for (i = 0; i < 3; i++) {
for (j = i; j < 3; j++) {
temp = matrix[i][j];
matrix[i][j] = matrix[j][i];
matrix[j][i] = temp;
}
}
}
```
该函数使用了两个嵌套的for循环来遍历矩阵中的所有元素,并使用一个临时变量来完成矩阵元素的交换。在外层循环中,我们遍历矩阵中的每一行;在内层循环中,我们只遍历矩阵中当前行及其后面的列,因为我们只需要交换矩阵中的上三角和下三角元素。最后,我们返回转置后的矩阵。
c语言用函数,将一个3×3的整型矩阵转置
好的,我可以为您提供代码示例:
```
#include <stdio.h>
void transpose(int matrix[][3], int rows, int cols) {
int temp;
for (int i = 0; i < rows; i++) {
for (int j = i; j < cols; 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}};
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(matrix, 3, 3);
printf("Transposed 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;
}
```
这段代码中,我们用一个 `transpose` 函数来实现矩阵转置的功能。其接受一个整型矩阵和其行列数作为参数,通过两重循环交换对应位置的元素来实现矩阵转置。我们在 `main` 函数中定义了一个 3x3 的整型矩阵,输出原始矩阵并调用 `transpose` 函数对其进行转置,最后再输出转置后的矩阵。
希望这个代码对您有所帮助!