编写C程序:输入某班20个学生某门课程的成绩,计算并输出全班学生的平均成绩和这门课程的最高分,并统计成绩高于平均分的人数。
时间: 2024-12-02 21:27:49 浏览: 8
在C语言中编写这样的程序,你需要首先定义结构体存储每个学生的姓名和成绩,然后动态分配内存来存储20个学生的数据。接下来是关键步骤:
1. **定义结构体**:
```c
typedef struct {
char name[50];
int score;
} Student;
```
2. **输入数据**:
```c
Student students[20]; // 存储数组
int total_score = 0, count_above_average = 0;
for (int i = 0; i < 20; i++) {
printf("请输入第%d位同学的成绩:", i+1);
scanf("%d", &students[i].score);
total_score += students[i].score;
}
```
3. **计算平均成绩**:
```c
float average = (float)total_score / 20;
```
4. **找出最高分和统计高于平均分的学生**:
```c
int max_score = students[0].score;
for (int i = 1; i < 20; i++) {
if (students[i].score > max_score) {
max_score = students[i].score;
}
}
for (int i = 0; i < 20; i++) {
if (students[i].score > average) {
count_above_average++;
}
}
```
5. **输出结果**:
```c
printf("全班学生的平均成绩为:%.2f\n", average);
printf("这门课程的最高分为:%d\n", max_score);
printf("高于平均分的人数为:%d\n", count_above_average);
```
阅读全文