本题要求编写程序,根据输入学生的成绩,统计并输出学生的平均成绩、最高成绩和最低成绩。建议使用动态内存分配来实现。
输入格式:
输入第一行首先给出一个正整数N,表示学生的个数。接下来一行给出N个学生的成绩,数字间以空格分隔。
输出格式:
按照以下格式输出:
average = 平均成绩
max = 最高成绩
min = 最低成绩
结果均保留两位小数。
输入样例:
3
85 90 95
输出样例:
average = 90.00
max = 95.00
min = 85.00
代码:
#include <stdio.h>
float aver(float a[], int n);
float max(float a[], int n);
float min(float a[], int n);
int main(void) {
int n, i;
float a[10000];
scanf("%d", &n);
for( i=0; i<n; i++ ) {
scanf("%f", &a[i]);
}
printf("average = %.2f\n", aver(a, n));
printf("max = %.2f\n", max(a, n));
printf("min = %.2f\n", min(a, n));
return 0;
}
float aver(float a[], int n) {
int i;
float sum = 0, average;
for ( i=0; i<n; i++ ) {
sum += a[i];
}
average = sum / n;
return average;
}
float max(float a[], int n) {
int i;
float big = 0;
for ( i=0; i<n; i++ ) {
if ( big < a[i] )
big = a[i];
}
return big;
}
float min(float a[], int n) {
int i;
float small = 999;
for ( i=0; i<n; i++ ) {
if ( small > a[i] )
small = a[i];
}
return small;
}