数组概述 ■数组:用于保存一批相同类型的数据 ■属构造类型 数组名:一批同类型数据共有的名字。 下标:数组中的各个数据用下标来区分。 ■例如,一组实验数据、一批学生成绩、表、矩阵等 的处理,均用数组数据类型表示
数组概述
7.1一维数组 例71输入50个整数,按逆序输出。 maino i int a[50], i; 定义数组a和循环变量i* for(i=0;i=0;j-)/*逆序输出50个整数* printf(9/",ali); a[o]a[a[2]a3]a[4].a-49
7.1 一维数组 …
维数组:每个数组元素只带有一个下标 维数组的一般形式 类型说明符数组名常量表达式 如: float score|30; fomt是类型说明符,定义了该数组中元素的类型。 score是数组名,是这一组数据共有的的名字; 30是常量表达式表示数组的长度,即数组元素的个 数。 也就是说:数组 score可以保存30个foat型的数据。 注意:定义数组时长度必须是确定的值。 例如: int aal l;(eror) int n; float xsn];(error)
数组元素的引用:数组名下标 如:a是数组a中下标为i的数组元素; a|0是下标为0的数组元素。 C语言的规定:数组的下标从0开始。 比如数组a50包含50个数组元素,分别是:a|0al al2……a|49 即下标的范围为0-49,不存在数组元素 corel50 若使用a50是危险的,为什么? 维数组的存储格式:每个数组占用一片连续的存储单 元,按下标次序依次存放各元素。 如 int data10;数组data占2*10=20个字节 data[ol datal ll data[21 datas
data[0] data[1] data[2] …… data[9]
例73编程实现:输入某门课30人的成绩(0~100) 要求将高于平均分的那些成绩打印出来 分析数据结构:30人的成绩,类型相同,可用一维 数组来保存。 分析算法: Sl:输入30人的成绩并累加,用循环实现,循环体 为“输入第k个人的成绩、并累加入部分和” S2:求平均 S3:求高于平均分的成绩。也用循环实现,循环体 为“将第k个成绩平均分比较,若高,则输出”; 循环条件为“k<30,k的初值为0,增值为 k++
#definen 3 maino i float scoreN, sum, average; int k; printf(n enter %d scores:", N; sum=D for(k=0;k<Nk+)/输入N个成绩,存入数组,并累加 scanf( %of",&score D); sum=sum+score[ 3 average=sum/N;求平均 printf( n average=%6.If, average); r(=水<Nk+ ii(scorelk ayerage) printi(n %o6." seore[kj