zoukankan      html  css  js  c++  java
  • 【NYOJ】[60]谁获得了最高奖学金

    这里写图片描述
    这里写图片描述

    使用的结构体储存数据
    然后直接根据条件来判断

    #include<stdio.h>
    struct per {
        char name[22];
        int q1,q2;
        char flag1,flag2;
        int n,sum;
    } stu[120];
    int main() {
        int T;
        scanf("%d",&T);
        while(T--) {
            int X;
            scanf("%d",&X);
            int maxi=0,sum=0;
            for(int i=0; i<X; i++) {
                scanf("%s %d %d %c %c %d",&stu[i].name,&stu[i].q1,&stu[i].q2,&stu[i].flag1,&stu[i].flag2,&stu[i].n);
                stu[i].sum=0;
                if(stu[i].q1>80&&stu[i].n>0)
                    stu[i].sum+=8000;
                if(stu[i].q1>85&&stu[i].q2>80)
                    stu[i].sum+=4000;
                if(stu[i].q1>90)
                    stu[i].sum+=2000;
                if(stu[i].q1>85&&stu[i].flag2=='Y')
                    stu[i].sum+=1000;
                if(stu[i].q2>80&&stu[i].flag1=='Y')
                    stu[i].sum+=850;
                sum+=stu[i].sum;
                if(stu[i].sum>stu[maxi].sum)
                    maxi=i;
            }
            printf("%s
    %d
    %d
    ",stu[maxi].name,stu[maxi].sum,sum);
        }
        return 0;
    }

    标程直接进行的判断
    -.-感觉并没有我写的清晰

    #include<iostream>
    #include<string>
    #include<algorithm>
    #include<numeric>
    using namespace std;
    int calc(int qm,int py,bool gb,bool xb,bool lw) {
        int all=0;
        if(qm>80 && lw) all+=8000;
        if(qm>85&& py>80) all+=4000;
        if(qm>90) all+=2000;
        if(xb&&qm>85) all+=1000;
        if(gb&&py>80) all+=850;
        return all;
    }
    
    int main() {
        int n;
        cin>>n;
        while(n--) {
            int m;
            cin>>m;
            int max_num=0,all=0;
            string max_stu;
            while(m--) {
                int qm,py,lw;
                string xm,gbs,xbs;
                cin>>xm>>qm>>py>>gbs>>xbs>>lw;
                bool gb=gbs=="Y",xb=xbs=="Y";
                int num=calc(qm,py,gb,xb,lw>0);
                all+=num;
                if(num>max_num) {
                    max_num=num;
                    max_stu=xm;
                }
            }
            cout<<max_stu<<endl<<max_num<<endl<<all<<endl;
        }
    }

    题目地址:【NYOJ】[60]谁获得了最高奖学金

  • 相关阅读:
    python并发之concurrent.futures
    全局解释器锁--GIL
    ASP 注释
    ASPxGridView 下拉框不让输入
    leftjoin及多个leftjoin执行顺序
    视图view没有主键,但可以添加唯一索引
    ASPxGridView KeyFieldName
    联合主键
    AspxGridView使用教程
    ASP Session 对象
  • 原文地址:https://www.cnblogs.com/BoilTask/p/12569884.html
Copyright © 2011-2022 走看看