只定义一个5行4列的二维数组用C语言将它转化为4行5列?

如题所述

第1个回答  2020-12-27
#include<stdio.h>

main( ) {
int i,j,s[5][4],t[4][5],k=0,l=0;
printf("上20个数:");
for (i=0;i<5;i++) for (j=0;j<4;j++)
scanf("%d",&s[i][j]);
for (i=0;i<5;i++) for (j=0;j<4;j++)
{
t[k][l]=s[i][j];
l++;
if(l%5==0){k++;l=0;}
}
for (i=0;i<4;i++) {
for (j=0;j<5;j++)
{
printf("%d ",t[i][j]);
}
printf("\n");
}
return 0;
}
第2个回答  2020-12-27
是转置吗?行变成列,列变成行。如是,程序如下:
main(){
int a[5][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16},{17,18,19,20}};
int b[4][5];
int i,j;
printf("原数组:");
for(i=0;i<5;i++){
for(j=0;j<4;j++)
printf("%5d",a[i][j]);
printf("\n");
}
for(i=0;i<5;i++)
for(j=0;j<4;j++)
b[j][i]=a[i][j];
printf("转化后的数组:");
for(i=0;i<4;i++){
for(j=0;j<5;j++)
printf("%5d",b[i][j]);
printf("\n");
}
}
有什么问题请留言。本回答被网友采纳
第3个回答  2020-12-27
这个可以转化的。
相似回答