C语言程序设计项目教程详解.ppt

6.1 数组的定义及使用 一、一维数组的定义、引用及初始化 引用 数组名[下标表达式] 引用举例: for i 0;i 10;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 #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;i 9;i++ scanf %d,a[i] ; printf \n ; for i 0;i 4;i++ temp a[i]; a[i] a[9-i-1]; a[9-i-1] temp; printf “Now array a:” ; for i 0;i 9;i++ printf “%4d”,a[i] ; printf “\n” ; 通过 键盘对数组进行赋值。 将第i个元素与第N-i-1个元素互换。 讨论:逆序输出有没有其他算法实现? for i 8;i 0;i-- printf %4d,a[i] ; printf \n ; 通过循环结构输出数组。 6.1 数组的定义及使用 二、二维数组的定义、引用及初始化 定义 类型说明符 数组名[常量表达式1][常量表达式2]; 例如: float b[2][3]; float是类型名,b[2][3]是一个二维数组说

文档评论(0)

1亿VIP精品文档

相关文档