C语言建立一结构体,其中包括学生的姓名、性别和计算机课程的成绩。建立一个有5个元素的结构体数组。输入学生信息,输出分数大于平均分的学生的姓名、性别和计算机课程。
时间: 2024-03-24 09:41:23 浏览: 76
好的,这是一个关于C语言的问题,我会尽力回答。以下是解决方案:
```c
#include <stdio.h>
#include <string.h>
struct student {
char name[20];
char gender[10];
int score;
};
int main() {
struct student stu[5];
int i, sum = 0;
float avg;
printf("请输入5个学生的信息:\n");
for (i = 0; i < 5; i++) {
printf("第%d个学生的姓名:", i + 1);
scanf("%s", stu[i].name);
printf("第%d个学生的性别:", i + 1);
scanf("%s", stu[i].gender);
printf("第%d个学生的成绩:", i + 1);
scanf("%d", &stu[i].score);
sum += stu[i].score;
}
avg = sum / 5.0; //计算平均分
printf("分数大于平均分的学生的信息如下:\n");
for (i = 0; i < 5; i++) {
if (stu[i].score > avg) {
printf("姓名:%s,性别:%s,成绩:%d\n", stu[i].name, stu[i].gender, stu[i].score);
}
}
return 0;
}
```
以上代码中,我们使用了一个结构体 `student` 存储学生的信息,包括姓名、性别和成绩。我们创建了一个有5个元素的结构体数组 `stu` 来存储5个学生的信息。通过循环输入学生信息,并且计算成绩的总和,用于计算平均分。最后,我们再次循环结构体数组,找到分数大于平均分的学生,并输出他们的信息。
注意:上述代码仅为示例,实际应用中需要考虑输入的数据是否合法,如输入的成绩是否在规定范围内等。
阅读全文