在主函数中从键盘输入某班学生某门课程的成绩(已知班级人数最多不超过40人,具体人数由键盘输入),试编程计算其平均分,并计算出成绩高于平均分的学生的人数。 要求:调用函数aver(),计算n名学生的平均成绩返回给主函数,然后在主函数中输出学生的平均成绩。 函数原型:float aver(int score[],int n); ***输入提示信息:无 ***输入格式:输入学生人数用"%d",输入学生成绩用"%d" ***输出平均成绩提示信息和格式:"Average score is %10.2f\n" ***输出平均分以上的学生人数提示信息和格式:"The number of students in more than average %d\n" 注:(1)不能使用指针、结构体、共用体、文件、goto、枚举类型进行编程。 (2)用纯C语言编程,所有变量必须在第一条可执行语句前定义。
时间: 2024-01-17 11:23:30 浏览: 125
好的,以下是符合题意的代码实现:
```
#include <stdio.h>
float aver(int score[], int n);
int main() {
int n, score[40], i, count = 0;
float average;
printf("请输入学生人数:");
scanf("%d", &n);
printf("请输入每个学生的成绩:\n");
for (i = 0; i < n; i++) {
scanf("%d", &score[i]);
}
average = aver(score, n);
printf("Average score is %10.2f\n", average);
for (i = 0; i < n; i++) {
if (score[i] > average) {
count++;
}
}
printf("The number of students in more than average %d\n", count);
return 0;
}
float aver(int score[], int n) {
int i, sum = 0;
float average;
for (i = 0; i < n; i++) {
sum += score[i];
}
average = (float) sum / n;
return average;
}
```
程序中定义了一个函数 `aver()` 用于计算学生成绩的平均值。在主函数中,首先输入学生人数,然后用一个循环输入每个学生的成绩,并将这些成绩存入数组 `score[]` 中。接着调用 `aver()` 函数计算平均分并输出。最后再用另一个循环计算成绩高于平均分的学生人数并输出。
阅读全文