理解一维数组的精髓,二维数组更容易掌握了。
先来复习一维数组程序应用,请填空统计全班某门功课的平均分数和最高分数 (设全班55人)。
问题分析:求全班某门课的平均分和最高分
模式识别:平均分为累加求和,再除以人数即可。求最高分可用“打擂台”方法求最大值。
模式归纳:用数组表示全班成绩,用循环求平均分和采用打擂台算法求最高分。用printf语句输出结果。
程序实现:
# define N 55
main()
{ int i,sum=0,max,score[N];
float average;
printf(“input everyone’s score:\n”);
for( _____________;_________;_________ )
scanf(“%d”,__________);
for(______;______;_______ )
{sum+=_______;
if(score[i]>max) max=________;}
average=_________;
printf(“average=%f\n”,average);
printf(“max=%d\n”,max);
}
答案:
在处理有些问题时需要用到二维数组来处理。例如,有4个小分队,每队有5名队员,要把这些队员的游泳成绩用数组保存起来,这就需要用到二维数组,如图。如果建立一个数组score,它应当是二维的,第一维用来表示第几分队,第二维用来表示第几个队员。如score2,3表示2分队队员3的成绩,她的值是87.
队员1 | 队员2 | 队员3 | 队员4 | 队员5 | |
1分队 | 87 | 75 | 93 | 82 | 89 |
2分队 | 91 | 84 | 87 | 92 | 90 |
3分队 | 76 | 79 | 84 | 88 | 80 |
4分队 | 91 | 95 | 92 | 83 | 85 |
一、怎样定义二维数组
(一)二维数组的定义
二维数组定义基本概念与方法和一维数组相似,一般形式为:
类型符 数组名[常量表达式][常量表达式];
如int a[3][4],b[4][M];(M为符号常量)
定义a为3*4(3行4列)的整型数组
b为4*M(4行M列)的整型数组
C语言对二维数组采用这样的定义方式,是的二维数组可被看作一种特殊的一维数组:她的元素又是一个一维数组。例如,可把a看作一种特殊的一维数组,它有3个元素:a[0],a[1],a[2]
每个元素又是一个包含4个元素的一维数组,如图:
可以把a[0],a[1],a[2]看作一维数组名。上面定义的二维数组可以理解为定义了三个一维数组,即相当于:
Int a[0][4],a[1][4],a[2][4];
此处把a[0],a[1],a[2]看作一维数组名。C语言用这种处理方法在数组初始化和用指针表示时显得很方便,这在以后会体会到。
(二)二维数组的存储
C语言中,二维数组中元素排列的顺序是按行存放的,记载内存总顺序存放第1行的元素,接着在存放第2行的元素。
如 int a[3][2];a[3][2]中的元素在内存中按行连续排放,如图.
注意:二维数组在逻辑上,有行列关系。但在内存中,各个元素是连续存放的,是线性的,而非二维的。这点务必请明确。
二、怎样引用二维数组的元素
同一维数组,二维数组的表示形式为:
数组名[下标][下标]
下标应是整型表达式。
如:int a[2][4];
二维数组下标的有效范围同一维数组,均从0开始,最大值为定义时下标减1。
如a数组元素的下标下限值是a[0][0],上限值是a[1][3]。这点要特别注意。
数组元素也可以出现在表达式中,也可以被赋值,例如:
b[1][2]=a[1][3]/2;
三、二维数组的初始化
可用“初始化列表”对二维数组初始化。如果不给二维数组初始化,则系统默认二维数组各元素为0.
我们伟大的祖国山河壮丽、幅员辽阔,不仅有以山河、原野,地理方位等命名的地名,也有以日月星辰命名的,以太阳命名的地名也很多。如山西泽州太阳古镇、大连旅顺太阳沟景区,哈尔滨著名的太阳岛、台湾的日月潭、四川彭州的太阳湾等等。你知道也有两座以太阳命名的城市吗?那就是:日照市日照市,山东省地级市。位于山东省东
奥黛丽赫本和玛丽莲梦露这两个同时代的女星,一个纯净如天使,一个热烈奔放似野玫瑰。两人都被纳入肯尼迪强大的情人团,美的是肯尼迪,至于美人儿,同是情人却不同命。梦露留给历史的定论,永远是高调不知收敛的,是一直都恃靓行凶的。说白了,就是美丽有余,聪明不足。但这丝毫不影响她在好莱坞、在整个美国刮起万人迷的风
很多初学车的朋友,哪怕通过了科目三的路考,拿到了驾驶证以后,在日常使用汽车的时候,尤其是晚上,对于灯光还是不太会用。今天,小编就和大家谈一下灯光怎么使用,怎么应对远光灯。非自动大灯类型在钥匙通电状态下或者启动车子的情况下,灯杆开关一般是旋转的,方向是逆时针旋转,从off向左旋转一下,就是打开了灯光开
【#羽毛球基础技术图解#】今天是#第一个世界羽毛球日#。羽毛球是我们再熟悉不过的运动,即使是没有正式学过的人也能对拉个几回合。以为无师自通?不正确的动作→水平难提高;不正确的发力方式→身体易受伤。转存手绘图解↓↓锻炼运动安排起来!
奶油和蛋糕非常的搭配,吃一口,软软的蛋糕体,搭配甜甜的奶油,特别有幸福感。下面就快来看看如何制作吧。【食材】鸡蛋3个,低筋面粉95克,细砂糖40克,牛奶40克,玉米油25克,柠檬汁3-5滴,淡奶油100克,细砂糖(用于打发奶油)8克。【制作步骤】1、准备食材并称重。做蛋糕最好按照配方的克数来,更容易
网站内容来自网络,如有侵权请联系我们,立即删除!
Copyright © 黑兔子百科网 琼ICP备2024032622号-19