题:
#include<stdio.h>
int main()
{
int m,n;
int a[20][20];
int i,j;
scanf("%d %d",&m,&n);
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&a[j][i]);
}
}
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
printf("%3d",a[i][j]);
}
printf("\n");
}
return 0;
}
本此程序需要实现的目的就是,把一个矩阵的数的行和列交换
比如,原来是 1 行 2 列的数,交换之后就变成了 2 行 1 列
由于这里有两个变量,且需要多次输入,所以引用了数组的概念进行求解
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&a[j][i]);
}
}
上面这部分是对矩阵内数据的输入
这时变量 i 表示的是行,变量 j 表示的是列,scanf用的是 a [ j ][ i ]
这些变量的表示都和后面相对应
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
printf("%3d",a[i][j]);
}
printf("\n");
}