c语言用结构输出10个学生的平均分最高分和最低分
时间: 2023-10-01 14:03:16 浏览: 89
好的,这里提供一种用结构体来存储学生信息的方法,然后输出这些学生的平均分、最高分和最低分。
首先,我们定义一个结构体`Student`来存储每个学生的信息,包括姓名和成绩。然后,我们定义一个长度为10的`Student`类型的数组`s`来存储这10个学生的信息。接着,我们使用循环来输入每个学生的姓名和成绩,并且计算出所有学生的成绩总分。最后,我们可以根据总分来计算出平均分、最高分和最低分,并输出它们。
下面是示例代码:
```c
#include <stdio.h>
typedef struct {
char name[20];
int score;
} Student;
int main() {
Student s[10];
int sum = 0, max = 0, min = 100;
// 输入学生信息
for (int i = 0; i < 10; i++) {
printf("请输入第%d个学生的姓名:", i+1);
scanf("%s", s[i].name);
printf("请输入第%d个学生的成绩:", i+1);
scanf("%d", &s[i].score);
sum += s[i].score;
}
// 计算平均分、最高分和最低分
int avg = sum / 10;
for (int i = 0; i < 10; i++) {
if (s[i].score > max) {
max = s[i].score;
}
if (s[i].score < min) {
min = s[i].score;
}
}
// 输出结果
printf("平均分:%d\n", avg);
printf("最高分:");
for (int i = 0; i < 10; i++) {
if (s[i].score == max) {
printf("%s ", s[i].name);
}
}
printf("(%d分)\n", max);
printf("最低分:");
for (int i = 0; i < 10; i++) {
if (s[i].score == min) {
printf("%s ", s[i].name);
}
}
printf("(%d分)\n", min);
return 0;
}
```
在这个示例代码中,我们定义了一个结构体`Student`,它包含了一个`name`成员来存储学生的姓名,一个`score`成员来存储学生的成绩。然后,我们定义了一个长度为10的`Student`类型的数组`s`来存储这10个学生的信息。在输入学生信息的循环中,我们使用`scanf`函数来输入每个学生的姓名和成绩,并且累加成绩总分。接着,我们计算出平均分和最高分、最低分。最后,我们使用循环来输出最高分和最低分对应的学生姓名,并输出平均分、最高分和最低分。
希望这可以帮助到你!