【问题描述】用c语言编写程序,计算学生们的平均成绩,并统计不及格(成绩低于60分)的人数。题目保证输入与输出均在双精度范围内。 【输入形式】在一行中输入一系列非负实数,其间以空格分隔。当读到负实数时,表示输入结束,该数字不要处理。
时间: 2024-11-06 20:20:09 浏览: 21
C语言课程设计数据分节与删除字符学生成绩统计程序的设计.doc
在C语言中,你可以使用标准库函数如`scanf`读取用户输入,数组来存储成绩,然后遍历数组进行计算。以下是步骤的一个示例:
```c
#include <stdio.h>
#include <stdlib.h> // 引入<stdlib.h>用于处理浮点数溢出
// 定义结构体来存储学生信息
typedef struct {
float score;
} Student;
int main() {
int num_students = 0; // 记录学生的数量
Student students[100]; // 创建一个足够大的数组,假设最多有100名学生
float sum = 0.0f; // 存储总成绩
float average;
int failed_count = 0; // 不及格人数
// 循环读取成绩,直到遇到负数
while (scanf("%f", &students[num_students].score) == 1 && students[num_students].score >= 0) {
sum += students[num_students].score;
num_students++;
}
// 如果输入正常,则计算平均成绩和不及格人数
if (num_students > 0) {
average = sum / num_students;
for (int i = 0; i < num_students; i++) {
if (students[i].score < 60.0f) {
failed_count++;
}
}
}
printf("平均成绩: %.2f\n", average);
printf("不及格人数: %d\n", failed_count);
return 0;
}
阅读全文