用c语言统计15个人平均分最高分和超过平均分的人数
时间: 2024-12-06 08:26:27 浏览: 10
在C语言中,你可以通过以下几个步骤来实现这个功能:
1. **定义结构体**:首先,创建一个结构体来存储每个人的成绩及其是否超过平均分的信息。
```c
typedef struct {
int score;
int above_average;
} StudentRecord;
```
2. **输入数据**:从用户那里获取15个人的成绩,并计算出初始平均分。
```c
int total_score = 0;
StudentRecord students[15];
for (int i = 0; i < 15; i++) {
printf("请输入第%d个人的成绩:", i+1);
scanf("%d", &students[i].score);
total_score += students[i].score;
}
float average_score = (float)total_score / 15;
```
3. **更新记录并找出最高分和超过平均分的人数**:
- 遍历数组,检查每个学生的分数是否高于平均分。
- 更新最高分记录。
- 统计超过平均分的学生人数。
```c
int max_score_index = 0;
for (int i = 1; i < 15; i++) {
if (students[i].score > students[max_score_index].score) {
max_score_index = i;
}
students[i].above_average = students[i].score > average_score ? 1 : 0;
}
// 最高分
printf("最高分为:%d\n", students[max_score_index].score);
// 超过平均分的人数
int above_average_count = 0;
for (int i = 0; i < 15; i++) {
above_average_count += students[i].above_average;
}
printf("超过平均分的人数为:%d\n", above_average_count);
```
4. **结束程序**:
```c
return 0;
```
阅读全文