二维数组
有效解决行(column)和列(row)的队列数据处理,二维数组也称矩阵。
二维数组的定义
一般形式:类型符 数组名【常量表达式】【常量表达式】
注意:数组名符合标识符规则
数组长度必须确定
常量表达式不能是变量(不确定的值)
二维数组的初始化
1.定义时全部元素赋予初值
2.定义一部分元素赋予初值,其余系统自动给0
3.如果想全部是0
4.如果数组元素都赋予初值,数组第一位维度长度可以省略,铀元素初值数量倒推
引用二维数组
数组名[下标][下标]
需要从0开始,每次只能引用一个元素;下标可以是整形常量或整形表达式。
今日练习题
#include <stdio.h>
//输入学生的成绩,求出最高分和最低分,分别求出每一位学生的平均分
int main()
{
int arr[3][4]={0};
int i,j,max=0,min=100,avg;
printf("分别输入4个学生的成绩:\n");
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
scanf("%d",&arr[i][j]);
}
}
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
printf("%d ",arr[i][j]);
}
printf("\n");
}
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
if(max<arr[i][j])
{
max=arr[i][j];
}
}
}
printf("max=%d",max);
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
if(min>arr[i][j])
{
min=arr[i][j];
}
}
}
printf("min=%d\n",min);
//avg=get_avg(arr,4);
for(i=0;i<3;i++)
{
int avg=0;
for(j=0;j<4;j++)
{
avg=avg+arr[i][j];
}
printf("第%d个学生平均分为:%d\n",i,avg/4);
}
return 0;
}
}