二维数组
如何定义?
int、char、double (数组名)[行数][列数]
如何初始化?
int a[2][5]={0} 初始化为0
int a[2][5]={{1,2,3,4,5},{,6,7,8,910}} 赋值初始化
逐个赋值和打印二维数组需要嵌套for
二维数组行列调换
/*
5 10 15 20 25
25 50 75 100 125
125 250 375 500 625
5 25 125
10 50 250
15 75 375
20 100 500
25 125 625
*/
#include <stdio.h>
int main()
{
int num[3][5]={0};
int i,j,a=1;
int sum[5][3]={0};
for(i=0;i<3;i++)
{
a*=5;
for(j=0;j<5;j++)
{
num[i][j]=a*(j+1);
}
}
printf("列:\t0\t1\t2\t3\t4\n行\n");
for(i=0;i<3;i++)
{
printf("%d",i);
for(j=0;j<5;j++)
{
printf("\t%d",num[i][j]);
}
printf("\n");
}
// for(i=0;i<3;i++)
// {
// for(j=0;j<5;j++)
// printf("num[%d][%d]=%d\n",i,j,num[i][j]);
// }
printf("\n\n\n\n");
// for(j=0;j<5;j++)
// {
// for(i=0;i<3;i++)
// printf("sum[%d][%d]=%d\n",j,i,sum[j][i]);
// }
printf("\n\n\n\n");
for(i=0;i<3;i++)
{
for(j=0;j<5;j++)
{
sum[j][i]=num[i][j];
}
}
// for(j=0;j<5;j++)
// {
// for(i=0;i<3;i++)
// printf("sum[%d][%d]=%d\n",j,i,sum[j][i]);
// }
printf("列:\t0\t1\t2\n行\n");
for(i=0;i<5;i++)
{
printf("%d",i);
for(j=0;j<3;j++)
{
printf("\t%d",sum[i][j]);
}
printf("\n");
}
return 0;
}