题目描述 你需要使用c语言将一系列的学生期末考试信息进行存储(学生人数不会超过100)。每个学生的信息包括: 姓名(由 first name 和last name 两部分组成,例如Jingyu LI,first_name = "Jingyu" last_name = "LI") ; 学号(12 位数字组成,开头4位为2022、2021、2020); C语言成绩(一个大于等于零的整数); 重修信息(学号 2022.........为否,其余为是); GPA等级(A+, A, B+, B, C+, C, D,
时间: 2024-02-17 18:05:17 浏览: 145
在C语言中,可以定义一个结构体来存储每个学生的信息。结构体中包含姓名、学号、C语言成绩、重修信息和GPA等级这些属性。可以使用一个数组来存储所有学生的结构体。
以下是一个示例代码:
```
#include <stdio.h>
// 定义结构体
struct student {
char first_name[20];
char last_name[20];
char student_id[13];
int c_score;
char is_retake[3];
char gpa_level[3];
};
int main() {
// 定义结构体数组
struct student students[100];
// 实例化一个学生对象
struct student student1 = {"Jingyu", "LI", "202200000001", 90, "否", "A+"};
// 将学生对象添加到数组中
students[0] = student1;
// 访问学生对象的属性
printf("姓名:%s %s\n", students[0].first_name, students[0].last_name);
printf("学号:%s\n", students[0].student_id);
printf("C语言成绩:%d\n", students[0].c_score);
printf("重修信息:%s\n", students[0].is_retake);
printf("GPA等级:%s\n", students[0].gpa_level);
return 0;
}
```
可以使用一个循环来添加多个学生对象到数组中,例如:
```
for (int i = 0; i < 100; i++) {
printf("请输入第%d个学生的信息:\n", i+1);
printf("请输入first name:");
scanf("%s", students[i].first_name);
printf("请输入last name:");
scanf("%s", students[i].last_name);
printf("请输入学号:");
scanf("%s", students[i].student_id);
printf("请输入C语言成绩:");
scanf("%d", &students[i].c_score);
printf("请输入重修信息:");
scanf("%s", students[i].is_retake);
printf("请输入GPA等级:");
scanf("%s", students[i].gpa_level);
}
```
阅读全文