这个程序还是很简单的,
我们只需要把a[i][j]换成a[j][i]即可。
我们来看程序:
#include <stdio.h>
int main()
{
int a[2][3] = { {1,2,3},{4,5,6} };
int b[3][2], i, j;
printf("array a:\n");
for (i = 0; i <= 1; i++)
{
for (j = 0; j <= 2; j++)
{
printf("%5d", a[i][j]);
b[j][i] = a[i][j];
}
printf("\n");
}
printf("array b:\n");
for (i = 0; i <= 2; i++)
{
for (j = 0; j <= 1; j++)
printf("%5d", b[i][j]);
printf("\n");
}
return 0;
}
接下来我们来看这个程序:
int a[2][3] = { {1,2,3},{4,5,6} };
这个是对数组a进行赋值
int b[3][2], i, j;
这个是定义数组b和后面要用到的可以用来表示行和列的i和j。
数组a和b的行和列的数值是相反的。
printf("array a:\n");
for (i = 0; i <= 1; i++)
{
for (j = 0; j <= 2; j++)
{
printf("%5d", a[i][j]);
b[j][i] = a[i][j];
}
printf("\n");
}
第一个for循环,i取0和1,循环两次,对应数组a的行数
内部的for循环中的j对应数组a的列数,之后的语句就是把数组a的(i+1)行(j+1)列元素赋值给数组b的(j+1)行(i+1)列元素。
这边还是要看下这个图:
再来看下面的:
printf("array b:\n");
for (i = 0; i <= 2; i++)
{
for (j = 0; j <= 1; j++)
printf("%5d", b[i][j]);
printf("\n");
}
这个是输出替换后的数组b
本篇内容到此结束。