用C语言写编程 输入一个班50人某门课的成绩,求平均分和最高分,统计及格、不及格人数,并按一行10个在屏幕上输出全班成绩。
时间: 2024-03-24 17:37:58 浏览: 121
C语言输入学生成绩,计算并输出这些学生的最低分、最高分、平均分。
下面是用 C 语言实现的程序:
```c
#include <stdio.h>
#define N 50 // 班级人数
#define PASSING_GRADE 60 // 及格分数线
int main() {
int i, score, sum = 0, max = 0, pass = 0, fail = 0;
printf("请输入 %d 个人的成绩:\n", N);
for (i = 1; i <= N; i++) {
scanf("%d", &score);
sum += score;
if (score > max) {
max = score;
}
if (score >= PASSING_GRADE) {
pass++;
} else {
fail++;
}
printf("%d ", score);
if (i % 10 == 0) {
printf("\n");
}
}
printf("\n平均分:%d\n最高分:%d\n及格人数:%d\n不及格人数:%d\n", sum / N, max, pass, fail);
return 0;
}
```
程序首先定义了 `N` 为班级人数,`PASSING_GRADE` 为及格分数线。然后使用 `for` 循环遍历每个学生的成绩,依次进行以下操作:
1. 使用 `scanf` 输入学生的成绩,并累加到 `sum` 中;
2. 如果学生的成绩比当前的最高分 `max` 还要高,就更新 `max`;
3. 如果学生的成绩大于等于及格分数线,就将及格人数 `pass` 加 1,否则将不及格人数 `fail` 加 1;
4. 将学生的成绩输出到屏幕上,并在一行输出 10 个成绩;
5. 循环结束后,计算平均分,输出平均分、最高分、及格人数、不及格人数。
注意,这里使用了 `#define` 宏定义来定义常量,使得程序更加可读、易于维护。
阅读全文