用c语言将二维数组a表示的3x5矩阵进行转置

如题所述

以下是使用C语言将3x5矩阵进行转置的程序:

```c
#include <stdio.h>

int main() {
int a[3][5] = {{1, 2, 3, 4, 5}, {6, 7, 8, 9, 10}, {11, 12, 13, 14, 15}};
int transposed[5][3];

// 对矩阵进行转置
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 5; j++) {
transposed[j][i] = a[i][j];
}
}

// 输出转置后的矩阵
printf("转置后的矩阵:\n");
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 3; j++) {
printf("%d\t", transposed[i][j]);
}
printf("\n");
}

return 0;
}
```

程序中定义了一个3x5的二维数组a,用于存储原始矩阵的数据;同时定义了另一个5x3的二维数组transposed,用于存储转置后的矩阵。程序通过两层循环遍历原始矩阵a,并将其转置后存储到数组transposed中。最后,程序输出转置后的矩阵。

请注意,在实际编写代码时,可以根据具体情况调整矩阵的大小和数据类型等参数,从而实现对任意维度的矩阵进行转置的功能。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-08-10
#include"stdio.h"
void main(){
int a[3][5],i=0,j=0;
for(;i<3;i++){
for(j=0;j<5;j++){
scanf("%d",&(a[i][j]));
fflush(stdin);
}
}
for(i=0;i<3;i++){
for(j=0;j<5;j++){
printf("%d ",a[i][j]);
}
printf("\n");
}
for(i=0;i<5;i++){
for(j=0;j<3;j++){
printf("%d ",a[j][i]);
}
printf("\n\n");
}
}本回答被网友采纳
相似回答