学生的数据包括学号、姓名、出生日期、三门课程、总分及平均分。定义包含100个元素的学生结构体类型数组,要求从键盘循环输入3个学生的成员信息,然后计算学生的总分及平均分,最后循环输出3个学生的所有数据。
时间: 2025-01-24 15:11:34 浏览: 41
在C语言中,我们可以定义一个名为`Student`的结构体来存储学生的信息,包括学号、姓名、出生日期以及成绩。然后创建一个结构体数组来存储100个这样的学生数据。以下是实现这个需求的步骤:
```c
#include <stdio.h>
#include <string.h>
// 定义学生结构体
typedef struct {
int student_id;
char name[50];
char birth_date[20]; // 假设我们只存年月日,格式如"YYYY-MM-DD"
float score1, score2, score3; // 三门课程的成绩
} Student;
int main() {
const int num_students = 3; // 输入3个学生的信息
Student students[num_students];
for (int i = 0; i < num_students; i++) {
printf("请输入第%d个学生的详细信息:\n", i + 1);
scanf("%d", &students[i].student_id); // 输入学号
fgets(students[i].name, sizeof(students[i].name), stdin); // 输入姓名,注意去掉行尾换行符
scanf("%s", students[i].birth_date); // 输入出生日期
scanf("%f", &students[i].score1); // 输入第一门课分数
scanf("%f", &students[i].score2); // 输入第二门课分数
scanf("%f", &students[i].score3); // 输入第三门课分数
// 计算总分和平均分
students[i].total_score = students[i].score1 + students[i].score2 + students[i].score3;
students[i].average_score = students[i].total_score / 3.0;
// 显示学生信息
printf("学生ID: %d, 姓名: %s, 出生日期: %s, 总分: %.2f, 平均分: %.2f\n",
students[i].student_id, students[i].name, students[i].birth_date, students[i].total_score, students[i].average_score);
}
return 0;
}
阅读全文
相关推荐



















