c语言,编写程序,从键盘输入一批学生的成绩(以负数作为结束标志),计算平均分,并统计不及格成绩的个数。运用for循环
时间: 2024-11-29 17:37:12 浏览: 1
C语言程序设计-输入2个学生3门课的成绩,计算学生成绩平均分,课程平均分和最高分.
5星 · 资源好评率100%
在C语言中,你可以使用`for`循环来实现这个功能。首先,你需要创建一个变量来存储总分数和计数器,然后通过`while`循环持续获取用户的输入直到遇到负数为止。每次输入一个正数,就将其加到总分上,如果输入的是负数,则说明输入结束,此时减去1表示之前所有正数成绩,同时累加不及格次数。下面是一个简单的示例:
```c
#include <stdio.h>
int main() {
float total_score = 0, average;
int fail_count = 0, count = 0;
// 使用for循环控制读取次数
for (int i = 0; ; i++) { // 循环条件设为无限,直到用户输入负数才会退出
float score;
printf("请输入第%d位同学的成绩(输入负数结束):", i + 1);
scanf("%f", &score);
// 如果输入不是负数,计入成绩和计数
if (score >= 0) {
total_score += score;
count++;
} else { // 输入是负数,结束输入并计算平均分和不及格人数
break;
}
}
average = total_score / count;
fail_count = count - total_score / count; // 计算不及格的学生数(假设及格线为0)
printf("平均成绩为:%f\n", average);
printf("不及格的学生有 %d 人\n", fail_count);
return 0;
}
```
阅读全文