1
C语言程序设计
1.5.1 4.1 一维数组

4.1 一维数组

数组是有序数据的集合。数组中的每一个元素都属于同一个数据类型。用一个统一的数组名和下标和来唯一地确定数组中的元素。为什么需要使用数组呢?这个问题可以通过一个例子来说明。

例4-1 半期考试结束了,教师想看看C语言这门课程的最高分,以及有哪几位同学得到了这个最高分。试编程解决这个问题,为简单起见,假设班上共有10人。

算法分析:

要解决这个问题,可以用10个变量,分别取名为score1,score2,…,score10来存储10名学生的成绩。再定义一个变量maxScore用于存储最高分,其初值为0。将maxScore依次与score1,score2,…,score10比较,如果maxScore的值较小,则修改之。定义一个变量maxStudent用于存储得最高分的学生人数,初值为0,在计算得到最高分后,再用各位同学的成绩依次与最高分进行比较,成绩与最高分相同,则将maxStudent的值增1。

但是这种方法的程序扩展性很差,比如,班上的人数如果是20、30以至更多时,处理会非常不方便的。这种存储方式类似于用10个不同的文件夹来收藏数据,如图4.1.1(a)所示。好的编程习惯是:使用一个包含10个元素的数组,将每位同学的成绩存储到相应的数组元素中。这种方法类似于用一个包含10个间隔的文件夹来收藏数据,如图4.1.1(b)所示。

img320

图4.1.1 变量就像不同的文件夹,数组就像具有很多间隔的文件夹

程序4-1先用键盘输入10位学生的成绩,分别存放到一个名为score的数组中,并找出最高分,然后再依次将10位学生的成绩与最高分比较,输出得分为最高分的学生的序号。

img321

img322

img323

注意:在C++编译器中,“//”后面为注释行与C编译器中的/*……*/等效。