这是用C语言实现矩阵的置换!其中问题求大神指教!

#include<stdio.h>
void input(int a[][4],int i, int j);
void output(int a[][3],int i,int j);
void arrayTranspose(int a[][4],int b[][3]);
void main()
{ int a[3][4],b[4][3];
input(a,3,4);
arrayTranspose(a,b);
output(b,4,3);
}
void input(int a[][4],int i, int j)
{
printf("Please intput 3*4 array\n");
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
}
void output(int a[][3],int i,int j)
{printf("The transpose arrayis\n");
for(i=0;i<4;i++)
for(j=0;j<3;j++)
{if(j==2)
printf("\n");
printf("%d ",a[i][j]);}
}
void arrayTranspose(int a[][4],int b[][3])
{int i,j;
for(i=0;i<4;i++)
for(j=0;j<3;j++)
b[i][j]=a[j][i];
}
正确情况应是

但它是

output函数写坏了,换行要放到输出数据之后
void output(int a[][3],int i,int j)
{
printf("The transpose arrayis\n");
for(i=0;i<4;i++)
for(j=0;j<3;j++)
{
printf("%d ",a[i][j]);
if(j==2)
printf("\n");
}
}
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答