统计学生的人数 总分 和平均分 每个学生的数据包括学号 姓名 成绩c++
时间: 2023-05-13 14:05:27 浏览: 162
好的,这是一个简单的统计问题,我们可以使用数组和循环来解决。以下是一个示例代码:
```c
#include <stdio.h>
#define MAX_STUDENTS 100
struct student {
int id;
char name[20];
int score;
};
int main() {
struct student students[MAX_STUDENTS];
int num_students = 0;
int total_score = 0;
float avg_score = 0.0;
// 读入学生数据
while (scanf("%d %s %d", &students[num_students].id, students[num_students].name, &students[num_students].score) == 3) {
total_score += students[num_students].score;
num_students++;
}
// 计算平均分
if (num_students > 0) {
avg_score = (float)total_score / num_students;
}
// 输出统计结果
printf("学生人数:%d\n", num_students);
printf("总分:%d\n", total_score);
printf("平均分:%.2f\n", avg_score);
printf("每个学生的数据:\n");
for (int i = 0; i < num_students; i++) {
printf("%d %s %d\n", students[i].id, students[i].name, students[i].score);
}
return 0;
}
```
这个程序可以读入任意数量的学生数据,直到输入结束(比如按下 Ctrl+D)。它会计算出学生人数、总分和平均分,并输出每个学生的数据。注意,这个程序没有进行任何错误处理,比如输入的成绩不是数字,或者学生人数超过了数组的最大容量。在实际应用中,需要根据具体情况进行相应的处理。
阅读全文