数组"/>
用对比法攻克二维数组
二维数组就是特殊的一维数组
用两个例子来品味他的魅力吧!
例题一:
将一个二维数组行和列的元素互换,存到另一个二维数组中
#inlcude<stdio.h>
#include<stdlib.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("array b:\n");for(i=0;i<=2;i++){for(j=0;j<=1;j++)printf("%5d",b[i][j]);printf("\n");}system("pause");return 0;}
本道题的思路就是,先定义一个二维数组的数组,并且首先给他赋值,让他以一个数组的形式存在,因为将他们互换的第一步就是让他们首先要存在,首先输出的使变化前的值,用for循环的嵌套,a[0][0],a[0][1]确定了刚刚定义数组的位置,这样就可以将他们输出来。理解数组其实就是为数字开辟了空间,思想和一维数组基本没有区别。
例题二:
有一个矩阵要求他最大值
#include<stdio.h>
#inlcude<stdlib.h>
int main()
{int i,j,row=0,colum=0;max;int a[3][4]={{1,2,3,4},{9,9,7,6},{-10,10,-5,2}};max=a[0][0];for(i=0;i<=2;i++)for(j=0;j<=3;j++)if(a[i][j]>max){max=a[i][j];row=1;colum=j;}printf("max=%d\nrow=%d=%d\ncolum=%d\n);system("pause");retunrn 0;
}
本题的思路和上题基本相同,通过对比我们可以看的出来,当你定义一个数组的时候,其实就像你向一个空教室摆放椅子,当你用for循环的嵌套时,其实就是在摆放他们的位置,看看摆放在哪个位置可以更加的好看。想要进行比较、或者交换行列,你都可以用一些方法去进行。
通过比较,感觉他们并不是很难吧!
更多推荐
用对比法攻克二维数组
发布评论