有5名学生,每名学生的信息包括学号、数学成绩、语文成绩,从键盘输入5名同学的信息,要求使用结构体和数组实现:1、100分学生的所有信息,2、这5名同学第2门课程的成绩。
时间: 2024-09-08 22:04:46 浏览: 69
数据结构:定义一个包含学生信息(学号、姓名、成绩)的顺序表_数据结构
5星 · 资源好评率100%
在C语言中,我们可以使用结构体(struct)来表示学生的个人信息,并通过数组来存储多名学生的数据。下面是一个简单的示例,假设我们创建一个名为`Student`的结构体,包含学号(int type)、数学成绩(float math_score)和语文成绩(float chinese_score),以及一个数组`students`来存储所有学生的数据。
```c
#include <stdio.h>
// 定义学生结构体
typedef struct {
int id;
float math_score;
float chinese_score;
} Student;
// 主函数
int main() {
const int num_students = 5; // 学生人数
Student students[num_students]; // 创建学生数组
// 输入学生信息
for (int i = 0; i < num_students; i++) {
printf("请输入第%d位学生的学号、数学成绩和语文成绩:\n", i+1);
scanf("%d %f %f", &students[i].id, &students[i].math_score, &students[i].chinese_score);
}
// 打印100分学生的所有信息
for (int i = 0; i < num_students; i++) {
if (students[i].math_score == 100 && students[i].chinese_score == 100) {
printf("100分学生信息: 学号 %d, 数学 %f, 语文 %f\n", students[i].id, students[i].math_score, students[i].chinese_score);
}
}
// 打印第2门课程(通常指语文成绩)的整体情况
printf("\n所有学生第二门课程(语文)的成绩:\n");
for (int i = 0; i < num_students; i++) {
printf("学生 %d 的语文成绩: %.2f\n", students[i].id, students[i].chinese_score);
}
return 0;
}
```
阅读全文