c语言定义学生结构体初始化3名学生的学号和每个学生考试三门功课数学语文英语的成绩。struct stu s3=No0201857882No0202848086No0203846075;编写程序根据用户输入的n值输出第n门课的最高分及对应学号输入1输出数学最高分及对应学号输入2输出语文最高分及对应学号输入3输出英语最高分及对应学号。
#include <stdio.h>
struct stu {
char num[10];
int math;
int chinese;
int english;
};
int main() {
struct stu s[3] = {
{"No.0201", 85, 78, 82},
{"No.0202", 84, 80, 86},
{"No.0203", 84, 60, 75}
};
int n, max, i;
char num[10];
printf("请输入n的值(1代表数学,2代表语文,3代表英语):");
scanf("%d", &n);
if (n == 1) {
max = s[0].math;
strcpy(num, s[0].num);
for (i = 1; i < 3; i++) {
if (s[i].math > max) {
max = s[i].math;
strcpy(num, s[i].num);
}
}
printf("数学最高分:%d,对应学号:%s\n", max, num);
}
else if (n == 2) {
max = s[0].chinese;
strcpy(num, s[0].num);
for (i = 1; i < 3; i++) {
if (s[i].chinese > max) {
max = s[i].chinese;
strcpy(num, s[i].num);
}
}
printf("语文最高分:%d,对应学号:%s\n", max, num);
}
else if (n == 3) {
max = s[0].english;
strcpy(num, s[0].num);
for (i = 1; i < 3; i++) {
if (s[i].english > max) {
max = s[i].english;
strcpy(num, s[i].num);
}
}
printf("英语最高分:%d,对应学号:%s\n", max, num);
}
else {
printf("输入有误!\n");
}
return 0;
}
``
原文地址: https://www.cveoy.top/t/topic/f4Ad 著作权归作者所有。请勿转载和采集!