第10讲 维数组与字符数组 ·以后会越来越难,因此一定要对前面的知识及时理解和掌握。 看懂、听懂并不等于会用。 课堂上时间有限,大家一定要及时预习和复习。 复习时注意只需要把我课上讲的几个例题理解透彻并掌握即可 注意:思路!算法
第10讲 一维数组与字符数组 •以后会越来越难,因此一定要对前面的知识及时理解和掌握。 •看懂、听懂并不等于会用。 •课堂上时间有限,大家一定要及时预习和复习。 •复习时注意只需要把我课上讲的几个例题理解透彻并掌握即可 •注意:思路!算法!
作业1:求60个学生的最高分 n算法: 输入60个学生的成绩 依次比较,找出最高分 输出最高分
2 作业1:求60个学生的最高分 ▪ 算法: ▪ 输入60个学生的成绩 ▪ 依次比较,找出最高分 ▪ 输出最高分
方法一: include <stdio. h> *define n 60 void maino int a[ni, max: printf Input %od score: \n,N) for(i=0:i<N-1:++) scant("%d",&a[i〕) max=a[o]:/假设第一个元素最大* for(=1:i<=N-1;i*+)依次拿当前最大值与下一个元素比较*/ if(a[i]>max) max=a[i: y printf \n The maximum score is %d: \n ", max):
3 方法一: #include <stdio.h> #define N 60 void main() { int a[N],max; printf("Input %d score:\n",N); for(i=0;i<=N-1;i++) scanf("%d",&a[i]); max=a[0]; /*假设第一个元素最大*/ for(i=1;i<=N-1;i++)/*依次拿当前最大值与下一个元素比较*/ if(a[i]>max) { max=a[i]; } printf("\n The maximum score is %d :\n " ,max); }
方法二 include <stdio h define N 60 void maino int a[nl, max_i printf Input %od score: \n,N) for(i=0:i<N-1:++) scanf("%d",&a[i〕); maxi=0:/假设最大值对应的下标为0*/ for(=1:i<=N-1;i++) if(a[]>a[max订j maxi=i;}求最大元素对应的下标*/ printf \n The maximum score is %d: \n",a[max_i]
4 方法二: #include <stdio.h> #define N 60 void main() { int a[N],max_i; printf("Input %d score:\n",N); for(i=0;i<=N-1;i++) scanf("%d",&a[i]); max_i=0; /*假设最大值对应的下标为0*/ for(i=1;i<=N-1;i++) if(a[i]>a[max_i]) { max_i=i; } /*求最大元素对应的下标*/ printf("\n The maximum score is %d :\n " ,a[max_i]); }
作业2:求60个学生的平均分鼠 #include <stdio h> fdefinen60 void maino int a[ni, sum printf( Input %d score: n",N): for(i=0i<=N-1;i*+) scanf( %d" &a[iD: sum=0 for(=oi<=N-1;i+)求和* sum+=a0: printf( \n average=%.1f n". (float)sum/N):
5 作业2:求60个学生的平均分 ▪ 算法: ▪ 输入60个学生的成绩 ▪ 计算总分,平均分 ▪ 输出平均分 #include <stdio.h> #define N 60 void main() { int a[N],sum; printf("Input %d score:\n",N); for(i=0;i<=N-1;i++) scanf("%d",&a[i]); sum=0; for(i=0;i<=N-1;i++) /*求和*/ sum+=a[i]; printf("\n aversge=%.1f :\n ",(float)sum/N); }