#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;
}
``
c语言定义学生结构体初始化3名学生的学号和每个学生考试三门功课数学语文英语的成绩。struct stu s3=No0201857882No0202848086No0203846075;编写程序根据用户输入的n值输出第n门课的最高分及对应学号输入1输出数学最高分及对应学号输入2输出语文最高分及对应学号输入3输出英语最高分及对应学号。

原文地址: https://www.cveoy.top/t/topic/f4Ad 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录