怎样编写“将一个二维数组行和列元素互换,存到另一个二维数组中”的C语言程序

如题所述

第1个回答  推荐于2017-09-16
#include <stdio.h>

int main() {
int a[10][5] = {...};
int b[5][10] = {0};
int i,j;
for (i=0;i<10;i++) {
for (j=0;j<5;j++)
b[j][i] = a[i][j];
}
//.....
}追问

可以详细点吗

追答

很简单啊,行列对换,i代表行,j代表列,[i][j]代表每一行的每一列,[j][i]不就是每一列的每一行吗?

追问

虽然追问得有点晚,运行后怎么什么都没有

追答

这个..........
反应在计算机内部,我没写输入输出部分的代码。

追问

因为我不会,不知道怎么修改,才想要详细点嘛

追答

I 服了 U.


追问

不用客气

追答

都在代码里了,看文件吧。这是运行结果。

追问

你有发文件吗

追答

你不会是用手机看的吧,手机不能看附件。用电脑才行

追问

我是用手机啊

追答

#include

int main() {
int a[6][4], b[4][6];
int i,j;

for (i=0;i<6;i++) {
printf("输入第%d行数据(如:12,13,23,45):", i+1);
scanf("%d,%d,%d,%d", &a[i][0], &a[i][1], &a[i][2], &a[i][3]);
}
printf("\n...............................\n");
printf("输入的6x4数组为:\n");
for (i=0;i<6;i++) {
for (j=0;j<4;j++) {
printf("%5d\t", a[i][j]);
}
printf("\n");
}

//行列对换
for (i=0;i<6;i++) {
for (j=0;j<4;j++) {
b[j][i] = a[i][j];
}
}

printf("\n...............................\n");
printf("转换后的4x6数组为:\n");
for (i=0;i<4;i++) {
for (j=0;j<6;j++) {
printf("%5d\t", b[i][j]);
}
printf("\n");
}

return 0;
}

本回答被提问者和网友采纳
相似回答