6.1 一维数组(课件)-《C语言程序设计》同步教学(清华大学出版)

2024-08-11
| 25页
| 43人阅读
| 7人下载
普通

内容正文:

(清华大学出版) C 语言程序设计 同步教学 C 语言程序设计 第六章 数 组 2 1. 编程求一个寝室 6 名同学 C 语言成绩的平均分。 2. 编程求一个班级 30 名同学 C 语言成绩的平均分。 3. 编程求一个专业 120 名同学 C 语言成绩的平均分。 #include<stdio.h> void main() { float a, b, c, d, e, f, sum, ave; printf("输入成绩 "); scanf("%f%f%f%f%f%f", &a, &b, &c, &d, &e, &f); sum=a+b+c+d+e+f; ave=sum/6; printf(" 平均分为:%.2f ", ave); } 3 如果要输入更多的数值呢? 有没有一种更简便的方式, 可以一次定义一组变量? 1. 编程求一个寝室 6 名同学 C 语言成绩的平均分。 2. 编程求一个班级 30 名同学 C 语言成绩的平均分。 3. 编程求一个专业 120 名同学 C 语言成绩的平均分。 4 第六章 数 组(Array) 6.1 一维数组 6.2 二维数组 6.3 字符数组 5 第六章 数 组 数组是 什么? 数组是 一组变量的集合 6.1 一维数组 数组是 一组同名、同数据类型变量的集合 数组是 一组有序、同名、同数据类型变量的集合。 数组中的变量称为数组元素,变量的个数称为数组的长度。将数组与循环结合,能有效地处理大批量数据,可大大提高工作效率。 6 如何声明 一个数组 int a[10]; 数组的类型 数组名 数组中元素的数目 必须是一个常量 第六章 数 组 7 数组中元素的 编号 int a[10]; 0 1 2 3 4 5 6 7 8 9 a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9] 第六章 数 组 数组中元素的 编号 从 0 开始; 到 (数组的长度-1) 结束。 规定: 8 对于 int a[10]: 编译系统为数组 a 分配 连续的 10 * sizeof (int) 个字节的存储区域。 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a a+1 a+2 a+3 a+4 a+5 a+6 a+7 a+8 a+9 数组名表示 数组的首地址 a+i 表示 &a[i] 第六章 数 组 9 float s[6]={ 82,74, 93, 68, 80, 53 }; 数组在内存中的首地址 即 s=0x11ff60 s+3 = ? s+3 = 0x11ff6c 0x11ff60 0x11ff64 0x11ff68 0x11ff6c 0x11ff70 s[0] s[1] s[2] s[3] s[4] s[5] 0x11ff74 82 74 93 68 80 53 . . . 10 如何引用 数组中的元素 int a[10]; a[0]=5; a[1]=2*a[3/4]; a[5]=a[3%2]+a[6-6]; …a[2]…; 数组名 元素编号 第六章 数 组 注:在 C 语言中只能 对数组元素进行操作,不能对数组 整体进行操作。 11 数组元素赋值的 一种特殊方式 声明时赋值 全部赋初值,可不指定长度,如 int a[ ]={0, l, 2, 3, 4, 5, 6, 7, 8, 9}; 2) 部分赋初值,长度不能省略,如 int a[10]={1, 2, 3}; /* 其余为 0 */ char b[5]={'+', '-'}; /* 其余为 '\0' */ 3) 初值不能多于数组长度,如 int a[3]={1, 2, 3, 4}; 是错误的! 第六章 数 组 12 第六章 数 组 1. 编程求一个寝室 6 名同学 C 语言成绩的平均分。 2. 编程求一个班级 30 名同学 C 语言成绩的平均分。 #include<stdio.h> void main() { int i; printf("输入成绩 "); for(i=0; i<30; i++) scanf("%f",&s[i]); sum = sum+s[i]; // 求和 ave=sum/30; // 求平均分 printf(" 平均分是:%.2f ",ave); } sum , ave ; float s[30], { } sum=0.0 , 13 第六章 数 组 #include<stdio.h> void main() { int i; printf("输入成绩 "); for(i=0; i<30; i++) scanf("%f",&s[i]); sum = sum+s[i]; // 求和 ave=sum/30; // 求平均分 printf(" 平均分是:%.2f ",ave); } sum , ave ; float s[30], { } sum=0.0 , 1. 编程求一个寝室 6 名同学 C 语言成绩的平均分。 2. 编程求一个班级 30 名同学 C 语言成绩的平均分。 3. 编程求一个专业 120 名同学 C 语言成绩的平均分。 120 14 第六章 数 组 #include<stdio.h> void main() { int i; printf("输入成绩 "); for(i=0; i< 120 ; i++) scanf("%f",&s[i]); sum = sum+s[i]; // 求和 ave=sum/ 120 ; // 求平均分 printf(" 平均分是:%.2f ",ave); } sum , ave ; float s[ 120 ], { } sum=0 , 1. 编程求一个寝室 6 名同学 C 语言成绩的平均分。 2. 编程求一个班级 30 名同学 C 语言成绩的平均分。 3. 编程求一个专业 120 名同学 C 语言成绩的平均分。 # define N 120 // 宏定义 N N N N 15 第六章 数 组 #include<stdio.h> void main() { int i; printf("输入成绩 "); for(i=0; i< 120 ; i++) scanf("%f",&s[i]); sum = sum+s[i]; // 求和 ave=sum/ 120 ; // 求平均分 printf(" 平均分是:%.2f ",ave); } sum , ave ; float s[ 120 ], { } sum=0 , # define N 120 // 宏定义 N N N N 1. 编程求一个寝室 6 名同学 C 语言成绩的平均分。 2. 编程求一个班级 30 名同学 C 语言成绩的平均分。 3. 编程求一个专业 120 名同学 C 语言成绩的平均分。 30 16 第六章 数 组 2. 若定义语句int a[10];则下列对 a 中数组元素正确引用的是 。 A) a[10] B) a(1) C) a[4.5] D) a[10/2-5] 1. 下列能正确定义一维数组的语句是 。 A) int a(10); B) int n=10, a[n]; C) int n; scanf("%d",&n); int a[n]; D) # define n 10 int a[n]; 答案:D,n为符号常量。 课堂练习: 答案:D 17 第六章 数 组 数组(Array): 数组是一组有序、同名、同数据类型的变量(元素)的集合。定义方式为: 类型标识符 数组名[ 元素个数 ]; char str[ 81 ]; str[ 0 ], str[ 1 ], ……, str[ 80 ]; 注意:在C语言中不能对整个数组进行赋值或其他运算,只能对数组元素进行操作。 例如:int a[5]; a[5]={1,2,3,4,5}; a={1,2,3,4,5};都是错误的! 小 结: 18 1. 学校举行校园歌手大赛,请为大赛组委会编一个程序,计算评委为每位歌手打分的平均分(共20名评委)。 思考题: 第六章 数 组 19 第六章 数 组 #include<stdio.h> void main() { int i; printf("请输入评委打分 "); for( ) // 求平均分 printf(" 平均分1:%.2f ",ave1); } ave1 ; float J[N], { } sum=0.0, 1. 学校举行校园歌手大赛,请为大赛组委会编一个程序,计算评委为每位歌手打分的平均分(共20名评委)。 // 宏定义 N // 累加求和 // 输入分数 20 第六章 数 组 #include<stdio.h> void main() { int i; printf("请输入评委打分 "); for( ) // 求平均分 printf(" 平均分1:%.2f ",ave1); } ave1 ; float J[N], { } sum=0.0, 1. 学校举行校园歌手大赛,请为大赛组委会编一个程序,计算评委为每位歌手打分的平均分(共20名评委)。 // 宏定义 N // 累加求和 // 输入分数 # define N 20 i=0; i<N; i++ sum +=J[i]; scanf("%f", J+i); ave1=sum/N ; 21 1. 学校举行校园歌手大赛,请为大赛组委会编一个程序,计算评委为每位歌手打分的平均分(共20名评委)。 2. 去掉一个最高分和一个最低分,计算每位歌手的平均分。 思考题: 第六章 数 组 22 第六章 数 组 #include<stdio.h> void main() { int i; printf("请输入评委打分 "); for(i=0; i<N ; i++) scanf("%f", J+i); sum +=J[i]; // 累加求和 ave1=sum/N ; // 求平均分 printf(" 平均分1:%.2f ",ave1); } ave1 ; float J[N], { } sum=0, 1. 学校举行校园歌手大赛,请为大赛组委会编一个程序,计算评委为每位歌手打分的平均分(共20名评委)。 2. 去掉一个最高分和一个最低分,计算每位歌手的平均分。 # define N 20 // 宏定义 N ,max,min,ave2; max=J[0]; for(i=1; i< N; i++) { if(max<J[i]) } max=J[i]; min=J[0]; if(min>J[i]) min=J[i]; ave2=(sum-max-min)/(N-2); printf(" 平均分2:%.2f ",ave2); 23 1. 学校举行校园歌手大赛,请为大赛组委会编一个程序,计算评委为每位歌手打分的平均分(共20名评委)。 2. 去掉一个最高分和一个最低分,计算每位歌手的平均分。 3. 去掉 2 个最高分 和 2 个最低分,计算每位歌手的平均分。 思考题: 第六章 数 组 24 谢谢观看 $$

资源预览图

6.1 一维数组(课件)-《C语言程序设计》同步教学(清华大学出版)
1
6.1 一维数组(课件)-《C语言程序设计》同步教学(清华大学出版)
2
6.1 一维数组(课件)-《C语言程序设计》同步教学(清华大学出版)
3
6.1 一维数组(课件)-《C语言程序设计》同步教学(清华大学出版)
4
6.1 一维数组(课件)-《C语言程序设计》同步教学(清华大学出版)
5
6.1 一维数组(课件)-《C语言程序设计》同步教学(清华大学出版)
6
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。