1207 - C语言8.10
给定一个一维数组,包含10个学生的成绩,求出平均分、最高分和最低分。要求使用将数组传至函数进行操作的方法。
Input
只有一行,包含10个用空格隔开的实数,表示10个学生的成绩。保证所有成绩不小于0,不大于100。
Output
输出平均分、最高分和最低分,用空格隔开,小数点后保留2位小数。
请注意行尾输出换行。
Examples
Input
100 56 78 98.5 76 87 99 67.5 75 97
Output
83.40 100.00 56.00
Solution C
#include<stdio.h> int main() { int i; double max,min,sum,a[10]; for(i=0;i<10;i++) scanf("%lf",&a[i]); max=min=a[0]; for(sum=0,i=0;i<10;i++) { if(max<a[i])max=a[i]; if(min>a[i])min=a[i]; sum+=a[i]; } printf("%.2lf %.2lf %.2lf\n",sum/10,max,min); return 0; }
Solution C++
#include <stdio.h> float max, min; int main() { float average(float array[10]); float score[10], aver; int i; for (i = 0;i < 10;i++) scanf("%f", &score[i]); aver = average(score); printf("%.2f %.2f %.2f\n", aver, max, min); return 0; } float average(float array[10]) { int i; float aver, sum = array[0]; max = min = array[0]; for(i = 1;i < 10;i++) { sum = sum + array[i]; if (array[i] > max) max = array[i]; if (array[i] < min) min = array[i]; } aver = sum / 10; return aver; }