有若干个学生的成绩数据,其中成绩有百分制与五分制(优、良、中、及格和不及格)。学生的数据中包括:学号、课程名、成绩类型、成绩。要求用同一个表格来处理,设计百分制与五级分制通用的表格 步骤: 1) 定义共用体类型; 2) 定义学生结构体类型,其中成绩是共用体类型; 3) 输入测试数据,成绩类型1代表百分制,5代表五分制: 101 C语言 1 80 101 体育 5 良 102 C语言 1 75 102 体育 5 优 3)输出学生的学号、课程名和成绩信息。
时间: 2023-05-31 09:03:42 浏览: 91
C语言程序设计-给出百分制成绩,要求输出成绩等级A、B、C、D、E。90分以上为A,80~89分为B,7
5星 · 资源好评率100%
代码如下:
#include <stdio.h>
typedef union {
int score; // 百分制成绩
char level; // 五级分制成绩
} Grade;
typedef struct {
int stu_id; // 学号
char course[20]; // 课程名
int score_type; // 成绩类型(1代表百分制,5代表五级分制)
Grade grade; // 成绩
} Student;
int main() {
Student stu[2]; // 定义两个学生的数组
// 输入测试数据
stu[0].stu_id = 101;
strcpy(stu[0].course, "C语言");
stu[0].score_type = 1;
stu[0].grade.score = 80;
stu[1].stu_id = 101;
strcpy(stu[1].course, "体育");
stu[1].score_type = 5;
stu[1].grade.level = 'B';
// 输出学生信息
printf("学号\t课程名\t成绩\n");
for (int i = 0; i < 2; i++) {
printf("%d\t%s\t", stu[i].stu_id, stu[i].course);
if (stu[i].score_type == 1) {
printf("%d\n", stu[i].grade.score);
} else if (stu[i].score_type == 5) {
printf("%c\n", stu[i].grade.level);
}
}
return 0;
}
阅读全文