结构体中洛谷p5740最厉害的学生

d970a965f19a4ccd8213e86ed5a9c7f7.png

 🙈🙊🙉🌹❤️👍👌🤔🌈

#include<stdio.h>
// 引入标准输入输出头文件

struct Student{
    char name[20];
    // 学生姓名,最多 19 个字符加一个字符串结束符
    int chinese;
    // 语文成绩
    int math;
    // 数学成绩
    int english;
    // 英语成绩
    int sum;
    // 三科成绩总和
};

int main(void)
{
    struct Student student[1000];
    // 定义学生结构体数组,最多存储 1000 个学生信息
    int i,j,n,t,k;
    k = 0;
    // 初始化变量 k 为 0
    scanf("%d",&n);
    // 从用户输入读取学生数量 n

    for(i = 0; i < n; i++)
    {
        scanf("%s",student[i].name);
        // 输入学生姓名
        scanf("%d",&student[i].chinese);
        // 输入语文成绩
        scanf("%d",&student[i].math);
        // 输入数学成绩
        scanf("%d",&student[i].english);
        // 输入英语成绩
        student[i].sum = student[i].chinese + student[i].math + student[i].english;
        // 计算学生的三科成绩总和
    }

    int max = student[0].sum;
    // 初始化最大值为第一个学生的总成绩

    for(i = 0; i < n; i++)
    {
        if(max < student[i].sum)
        {
            t = max;
            // 暂存当前最大值
            max = student[i].sum;
            // 更新最大值
            student[i].sum = t;
            // 将当前学生的总成绩与暂存的最大值交换
            k = i;
            // 记录总成绩最大的学生下标
        }
    }

    printf("%s %d %d %d",student[k].name,student[k].chinese,student[k].math,student[k].english);
    // 输出总成绩最高的学生信息

    return 0;
}
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值