项目管理-C语言程序设计项目教程.ppt

6.1 数组的定义及使用 一、一维数组的定义、引用及初始化 引用 数组名[下标表达式] 引用举例: for(i=0;i10;i++) sum=sum+score[i]; 练一练:若有以下定义: double w[10]; 则w数组元素下标的上限是 ,下限是 。 “下标表达式”可以是整型常量、整型变量或整型表达式,其值均为非负数。范围是:0≤下标表达式≤元素个数-1。 注意i从0开始。 6.1 数组的定义及使用 一、一维数组的定义、引用及初始化 初始化 1) 在定义数组时对全部数组元素赋初值。 例如:int score[10]={0,1,2,3,4,5,6,7,8,9}; score[0] score[1] score[2] score[3] score[4] score[5] score[6] score[7] 0 1 2 3 4 5 6 7 2)只给数组的前半部分元素赋初值,可连续写出初值。 例如:int score[10]={0,1,2,3,4 } 3)只给数组的后半部分元素或某些不连续的元素赋初值,则花括号中分隔数值的逗号不能缺少。 例如:int score[5]={0,3,0,7,9}; 0 1 2 3 4 0 0 0 0 3 0 7 9 0 0 0 3)将数组全部元素赋初值为0。 例如:int score[10]={0,0,0,0,0,0,0,0,0,0}; 或者:int score[10]={0}; 0 0 0 0 0 0 0 0 3)对于数组中全部元素赋初值时可以不用指定数组的长度。 例如:int score[10]={0,1,2,3,4,5,6,7,8,9}; 可以写成:int score[ ]={0,1,2,3,4,5,6,7,8,9 }; 题目:从键盘上输入某个竞赛项目组10名参赛队员的成绩(整数),求出其平均成绩、并找出最低分和最高分。 实例 演示 一维数组的应用举例一 思路点拨: 平均成绩= (score[0]+……+score[9]) / 10; 将第1个人的成绩预置为最高分max和最低分min; 用其余9人的成绩依次与max和min比较:如果某人成绩max,则更新max;如果某人成绩min,则更新min。 题目:从键盘上输入某个竞赛项目组10名参赛队员的成绩(整数),求出其平均成绩、并找出最低分和最高分。 实例 演示 一维数组的应用举例一 #include stdio.h #define N 10 main() { int score[N], loop, sum; int max, min; printf( Please input %d scores(departed by space): , N); for(loop = 0; loop N; loop++) scanf(%d, score[loop]); sum = max = min = score[0]; for(loop = 1; loop N; loop++) {sum += score[loop]; if (score[loop] max) max = score[loop]; if (score[loop] min) min = score[loop]; } printf(\n average = %4.1f, max = %d, min = %d\n, (float)sum / N, max, min);} 题目:将一个一维数组中的元素按逆序重新存放。例如原来顺序为1、2、3、4、5、6、7、8、9。要求改为9、8、7、6、5、4、3、2、1。 实例 演示 一维数组的应用举例二 main() { int i,temp; static int a[9]; printf(“Enter array a:\n”); for(i=0;i9;i++)scanf(%d,a[i]); printf(\n); for(i=0;i4;i++) {temp=a[i]; a[i]=a[9-i-1]; a[9-i-1]=temp;} printf(“Now array a:”); for(i=0;i9;i++) printf(“%4d”,a[i]); printf(“\n”);} 通过

文档评论(0)

1亿VIP精品文档

相关文档