输入一组成绩,分别求出及格、不及格的平均成绩 输入格式: 以空格间隔输入一组成绩,以0表示结束。avg1表示及格,avg2表示不及格,均以整数表示。 输出格式: avg1=80 avg2=40
时间: 2024-10-04 19:00:57 浏览: 18
要计算及格和不及格的成绩平均值,你需要首先读取用户的输入,然后遍历这个输入数组,根据每个成绩是否达到某个阈值(比如60分)来分类。当遇到0时,停止遍历。接下来,你可以分别累加及格和不及格的成绩,同时记录计数。最后,用总和除以各自的计数得到平均值。以下是一个简单的C程序示例来实现这个功能:
```c
#include <stdio.h>
int main() {
int score, avg1 = 0, count_avg1 = 0, avg2 = 0, count_avg2 = 0;
float sum_avg1 = 0, sum_avg2 = 0;
// 输入分数
while (scanf("%d", &score) == 1 && score != 0) {
if (score >= 60) { // 判断是否及格
avg1 += score;
count_avg1++;
} else {
avg2 += score;
count_avg2++;
}
sum_avg1 += score; // 总和用于最终平均值
sum_avg2 += score;
}
// 计算并打印结果
if (count_avg1 > 0) {
float avg1_val = (float)sum_avg1 / count_avg1;
printf("avg1=%.1f\n", avg1_val);
} else {
printf("没有及格的成绩\n");
}
if (count_avg2 > 0) {
float avg2_val = (float)sum_avg2 / count_avg2;
printf("avg2=%.1f\n", avg2_val);
} else {
printf("没有不及格的成绩\n");
}
return 0;
}
```
当你运行此程序后,按照提示输入成绩即可。记得在输入结束后输入0来结束。
阅读全文