C语言 统计一批学生的平均成绩与不及格人数
时间: 2023-08-31 22:09:17 浏览: 155
以下是一个简单的C程序,可以用来统计一批学生的平均成绩和不及格人数:
```
#include <stdio.h>
int main() {
int n, i, score;
float sum = 0, avg;
int fail = 0;
printf("请输入学生人数:");
scanf("%d", &n);
for (i = 1; i <= n; i++) {
printf("请输入第%d个学生的成绩:", i);
scanf("%d", &score);
sum += score;
if (score < 60) {
fail++;
}
}
avg = sum / n;
printf("平均成绩为:%.2f\n", avg);
printf("不及格人数为:%d\n", fail);
return 0;
}
```
程序首先要求用户输入学生人数,然后使用一个for循环来逐个输入每个学生的成绩。在循环中,程序累加所有成绩的总和,并在成绩小于60时增加不及格人数的计数器。最后,程序计算平均成绩和不及格人数,并输出结果。
注意:这个程序没有对输入进行错误检查,例如用户输入的不是数字等情况。在实际应用中,应该加入适当的错误处理代码来保证程序的健壮性。
相关问题
pta题库答案c语言7-2 统计一批学生的平均成绩与不及格人数
在C语言中,要统计一批学生的平均成绩与不及格人数(通常指低于某个分数线的成绩),你可以创建一个程序结构,用于存储每个学生的信息(比如姓名和分数),然后遍历这个数组来计算总分、平均分以及不及格的学生数。以下是一个简单的示例:
```c
#include <stdio.h>
// 定义一个结构体表示学生
typedef struct {
char name[50];
int score;
} Student;
int main() {
// 假设我们有10个学生数据
Student students[] = {
{"张三", 85},
{"李四", 90},
{"王五", 60}, // 这个分数可能会被视为不及格
{"赵六", 70},
// 更多学生...
};
const int num_students = sizeof(students) / sizeof(students[0]);
int total_score = 0;
int fail_count = 0; // 初始设置为0,用于记录不及格的人数
// 遍历学生数组,累加总分并检查是否有不及格
for (int i = 0; i < num_students; ++i) {
total_score += students[i].score;
if (students[i].score < 60) { // 假设及格线是60分
fail_count++;
}
}
// 计算平均分
float average_score = (float)total_score / num_students;
printf("平均成绩: %.2f 分\n", average_score);
printf("不及格人数: %d 人\n", fail_count);
return 0;
}
```
统计一批学生的平均成绩与不及格人数
这道题目要求编写程序,计算学生们的平均成绩,并统计不及格(成绩低于60分)的人数。程序需要读入一系列非负实数,以空格分隔,当读到负实数时,表示输入结束,该数字不要处理。程序需要输出平均值和不及格人数,其中平均值精确到小数点后两位,等号的左右各有一个空格。下面是一个C语言的例子程序:
```
#include <stdio.h>
int main() {
int n = 0, count = 0;
double grade, sum = 0;
scanf("%lf", &grade);
while (grade >= 0) {
if (grade < 60) count++;
sum += grade;
scanf("%lf", &grade);
n++;
}
if (n > 0) {
printf("Average = %.2lf\n", sum / n);
printf("Count = %d", count);
} else {
printf("Average = 0.00\n");
}
return 0;
}
```
该程序使用了一个while循环来读入学生成绩,当读到负实数时,表示输入结束,该数字不要处理。在读入每个成绩时,程序会判断该成绩是否低于60分,如果是,则不及格人数加1。程序还会累加所有成绩的和,并记录成绩的个数。最后,程序会输出平均值和不及格人数,其中平均值精确到小数点后两位。
阅读全文