我们常用的数据叫做一维数组,是一串连续的内存空间,二维数组是在一维数组的基础上,相当于每一个元素又是一个一维数组
二维数组的定义也很简单
//定义一个十行十列的二维数组,也可以说是一个连续的拥有10个大小为10的一维数组
int a[10][10]
二维数组使用的话需要借助与循环嵌套,比如输入
for(h=0;h<5;h++)
{
for(l=0;l<5;l++)
{
printf("输入a[%d][%d]",h,l);
scanf("%d",&a[h][l]);
}
}
那什么是转置呢?
转置,其实说的是行变列,列边行的一种倒置,效果见下面的代码
#include"stdio.h"
main(){
int a[10][10],h,l;
for(h=0;h<5;h++)
{
for(l=0;l<5;l++)
{
printf("输入a[%d][%d]",h,l);
scanf("%d",&a[h][l]);
}
}
printf("\n");
for(h=0;h<5;h++)
{
for(l=0;l<5;l++)
{
printf("%d",a[h][l]);
}
printf("\n");
}
printf("\n");
printf("\n");
for(l=0;l<5;l++)
{
for(h=0;h<5;h++)
{
printf("%d",a[h][l]);
}
printf("\n");
}
}
效果
输入a[0][0]1
输入a[0][1]2
输入a[0][2]3
输入a[0][3]4
输入a[0][4]5
输入a[1][0]6
输入a[1][1]7
输入a[1][2]8
输入a[1][3]9
输入a[1][4]0
输入a[2][0]11
输入a[2][1]12
输入a[2][2]13
输入a[2][3]14
输入a[2][4]15
输入a[3][0]16
输入a[3][1]17
输入a[3][2]18
输入a[3][3]19
输入a[3][4]20
输入a[4][0]21
输入a[4][1]22
输入a[4][2]23
输入a[4][3]24
输入a[4][4]25
12345
67890
1112131415
1617181920
2122232425
16111621
27121722
38131823
49141924
50152025