c语言编程实现从键盘输入若干学生的成绩(输入负数结束),输出最高成绩和平均成绩
时间: 2024-11-22 13:47:41 浏览: 136
在C语言编程中,你可以通过循环结构和变量来实现这个功能。首先,你需要创建一个变量来存储最高分和当前遍历到的分数,然后让用户持续输入直到输入一个负数作为停止条件。每次输入一个新分数,都会比较它与当前最高分,如果大于当前最高分,则更新最高分。同时,记录所有的分数以便计算平均分。下面是一个简单的示例程序:
```c
#include <stdio.h>
int main() {
float score = 0, highest_score = 0;
int num_of_students;
printf("请输入学生成绩(输入负数结束):\n");
while (1) {
scanf("%f", &score);
// 如果输入的是负数,跳出循环
if (score < 0)
break;
// 比较并更新最高分
if (score > highest_score)
highest_score = score;
// 累加所有分数用于后续计算平均分
score += num_of_students * highest_score; // 这里假设所有学生的分数都是相同的,实际应累加所有分数
num_of_students++;
}
// 减去最后一个负数得分,并除以学生总数得到平均分
score /= num_of_students - 1;
printf("最高成绩:%.2f\n", highest_score);
printf("平均成绩:%.2f\n", score);
return 0;
}
```
在这个程序中,我们假设所有学生的分数相同,所以在每次迭代中都把新分数添加到`num_of_students * highest_score`上。实际上,应该只累加每个学生的分数,然后除以学生总数。
阅读全文