C语言二维数组总结
(2011-11-23 20:36:51)
标签:
杂谈 |
所有用到的的数组是:a[3][3]={{23,46,11},{99,45,82},{72,90,21}};
一:遍历打印输出二维数组的元素
#include <stdio.h>
void main(){
int a[3][3]={{23,46,11},{99,45,82},{72,90,21}};
for(int i=0;i<3;i++){
}
}
思路:【1:每一个下标号对应的元素值是唯一的;
2:因为是二维数组,必须要遍历行,列所以需要两个循环变量;
3:在每一次循环遍历列数后,就用换行语句,可以打印输出标准的行列格式】
二:逆序输出二维数组的元素
#include <stdio.h>
void main(){
int a[3][3]={{23,46,11},{99,45,82},{72,90,21}};
for(int i=2;i>=0;i--){
}
}
思路:【1:每一个下标号对应唯一的元素值;
2:当下标号发生顺序改变的时候,他们所代表的元素值也发生顺序变化。】
三:求二维数组的最值,每一行最值,每一列最值
#include <stdio.h>
void main(){
int a[3][3]={{23,46,11},{99,45,82},{72,90,21}};
int max=a[0][0];
for(int i=0;i<3;i++){
}
printf("%d \n",max);
}
思路:【1:必须声明一个临时的最大值,最好是二维数组中的任何一个元素值,不能比二维数组中的最小值还要小,比最大值还要大!
2:循环遍历二维数组的每一个元素值,一一比较,比临时最大值还大的话,就覆盖掉。】
#include <stdio.h>
void main(){
int a[3][3]={{23,46,11},{99,45,82},{72,90,21}};
int max=a[0][0];
for(int i=0;i<3;i++){
}
}
思路:【1:求每一行的最值,先临时设置一个值是二维数组里面的一个元素值;
2:遍历每一列,再遍历行的总数次,并且每遍历下一次的时候,最值要归位。不能将以前的最值拿下来比较】
#include <stdio.h>
void main(){
int a[3][3]={{23,46,11},{99,45,82},{72,90,21}};
int max=a[0][0];
int i,j;
for(i=0;i<3;i++){
}
printf("\n");
for(j=0;j<3;j++){
}
}
三:求二维数组的总和和平均值,每行每列的和还有平均值
#include <stdio.h>
void main(){
int a[3][3]={{23,46,11},{99,45,82},{72,90,21}};
int s=0,s1=0,s2=0;
int i,j;
printf("输出的标准格式如下:\n");
for(i=0;i<3;i++){
printf("\n");
}
printf("\n");
for(i=0;i<3;i++){
}
printf("该二维数组的和:=
printf("\n");
for(i=0;i<3;i++){
}
}
printf("\n");
for(i=0;i<3;i++){
for(j=0;j<3;j++){
s2=s2+a[j][i];
}
printf("第 %d 列的和是: =
}
}
思路:【1:求累加之和的固定模式是:int s=0;s=s+变化的值,就是指循环遍历的数组元素值;
2:在求每行,每列的和的时候,也是采用求累加之和的固定模式,求每一行的和就遍历每一列,求每一列。就遍历每一行;
3:在求每一行,每一列的和是时,记住要清0】
四:求该数组的对角线之和
#include <stdio.h>
void main(){
int a[3][3]={{23,46,11},{99,45,82},{72,90,21}};
int s1=0,s2=0;
int i,j;
printf("输出的标准格式如下:\n");
for(i=0;i<3;i++){