C语言程序编写:输入一个班级的学生信息,并把学习成绩超过全班平均成绩的学生找出来,输出这部分学生的姓名和成绩。
时间: 2023-07-06 17:29:45 浏览: 111
C语言程序设计-统计出若干个学生的平均成绩,最高分以及得最高分的人数;
5星 · 资源好评率100%
好的,下面是 C 语言的实现代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct {
char name[20];
int score;
} Student;
int main() {
int n, i, total_score = 0;
float average_score;
printf("请输入学生数量:");
scanf("%d", &n);
Student *students = (Student*) malloc(sizeof(Student) * n); // 动态分配内存
for (i = 0; i < n; i++) {
printf("请输入第%d个学生的姓名:", i + 1);
scanf("%s", students[i].name);
printf("请输入第%d个学生的成绩:", i + 1);
scanf("%d", &students[i].score);
total_score += students[i].score;
}
average_score = total_score / (float) n;
printf("成绩超过平均成绩的学生信息如下:\n");
for (i = 0; i < n; i++) {
if (students[i].score > average_score) {
printf("姓名:%s,成绩:%d\n", students[i].name, students[i].score);
}
}
free(students); // 释放内存
return 0;
}
```
这段代码中,我们定义了一个 `Student` 结构体表示学生信息,包含 `name` 和 `score` 两个字段。首先输入学生数量,然后动态分配内存,输入每个学生的信息,并计算平均成绩。最后输出成绩超过平均成绩的学生信息,并释放内存。
阅读全文