505 条题解

  • 0
    @ 2018-02-28 15:44:02
    #include<bits/stdc++.h>
    using namespace std;
    struct student
    {
        char name[100+10];
        int all;
        int banji;
        char ganbu; 
        char xibu;
        int lunwen;
        int money=0;
    };
    struct student a[1000+10],name,all,banji,ganbu,xibu,lunwen;//定义结构体 
    int main()
    {
        int n,i,j,t,s;
        s=0;
        cin>>n;
        for(i=1;i<=n;i++)
         {
            cin>>a[i].name>>a[i].all>>a[i].banji>>a[i].ganbu>>a[i].xibu>>a[i].lunwen;//输入各项资料
            if(a[i].all>80 && a[i].lunwen>=1)
              a[i].money=a[i].money+8000;//奖项一
             if(a[i].all>85 && a[i].banji>80)
               a[i].money=a[i].money+4000;//奖项二
              if(a[i].all>90)
                a[i].money=a[i].money+2000;//奖项三
               if(a[i].all>85 && a[i].xibu=='Y')
                 a[i].money=a[i].money+1000;//奖项四
                if(a[i].banji>80 && a[i].ganbu=='Y')
                  a[i].money=a[i].money+850; //奖项五
            s=s+a[i].money;
         }
         for(i=1;i<=n;i++)
          for(j=1;j<=n-1;j++)
            if(a[j].money<a[j+1].money)
              swap(a[j],a[j+1]);//比较钱数多少(冒泡排序)
         for(i=1;i<=1;i++)
            cout<<a[i].name<<endl<<a[i].money<<endl<<s;
        return 0;
    }
    
  • 0
    @ 2018-02-12 10:29:17

    。。

  • 0
    @ 2018-02-06 15:45:28

    #include<cstdio>
    #include<iostream>
    using namespace std;
    main()
    {
    int n;
    scanf("%d",&n);
    int j=n+10;
    string name[j];
    char gb[j],xb[j];
    float cj[j],bp[j];
    int lw[j];
    for(int i=1;i<=n;i++)
    {
    cin>>name[i];
    scanf("%f%f %c %c%d",&cj[i],&bp[i],&gb[i],&xb[i],&lw[i]);
    }
    int pj[n+2];
    for(int i=1;i<=n;i++)
    {
    pj[i]=0;
    if(cj[i]>90) pj[i]+=2000; //成绩优秀奖
    if(cj[i]>85&&bp[i]>80) pj[i]+=4000; //五四奖学金
    if(cj[i]>80&&lw[i]>=1) pj[i]+=8000; //院士奖学金
    if(cj[i]>85&&xb[i]=='Y') pj[i]+=1000; //西部奖学金
    if(bp[i]>80&&gb[i]=='Y') pj[i]+=850; //班级贡献奖
    }
    int max=1;
    int sum=0;
    for(int i=1;i<=n;i++)
    {
    max=pj[i]>pj[max]?i:max;
    sum+=pj[i];
    }
    cout<<name[max]<<endl;
    printf("%d\n%d",pj[max],sum);
    return 0;
    }

  • 0
    @ 2018-02-03 10:22:55

    为什么不用结构体呢?
    #include<bits/stdc++.h>
    using namespace std;
    char xn[20];
    struct{
    char name[20];
    int m;
    int cl;
    char gb;
    char xb;
    int lw;
    int s;
    }a[110];
    int main(){
    int n,i,max,zc=0;
    cin>>n;
    for(i=1;i<=n;i++)
    a[i].s=0;
    for(i=1;i<=n;i++){
    scanf("%s",a[i].name);
    cin>>a[i].m>>a[i].cl>>a[i].gb>>a[i].xb>>a[i].lw;
    }
    for(i=1;i<=n;i++){
    if(a[i].m>80&&a[i].lw>=1){
    a[i].s+=8000;
    zc+=8000;
    }
    if(a[i].m>85&&a[i].cl>80){
    a[i].s+=4000;
    zc+=4000;
    }
    if(a[i].m>90){
    a[i].s+=2000;
    zc+=2000;
    }
    if(a[i].m>85&&a[i].xb=='Y'){
    a[i].s+=1000;
    zc+=1000;
    }
    if(a[i].cl>80&&a[i].gb=='Y'){
    a[i].s+=850;
    zc+=850;
    }
    }
    max=a[1].s;
    for(i=1;i<=n;i++)
    if(a[i].s>max){
    max=a[i].s;
    strcpy(xn,a[i].name);
    }
    puts(xn);
    cout<<max<<endl;
    cout<<zc;
    return 0;
    }

  • 0
    @ 2018-02-03 10:07:29

    #include <bits/stdc++.h>
    using namespace std;
    struct{
    char name[30];
    int qc,bc,lw,xj,s;
    char xg,xb;
    }a[110],t;
    int main(){
    int n,i,zjq=0,j,max,p;
    cin>>n;
    for(i=1;i<=n;i++)
    cin>>a[i].name>>a[i].qc>>a[i].bc>>a[i].xg>>a[i].xb>>a[i].lw;a[i].s=0;
    for(i=1;i<=n;i++){
    if(a[i].qc>80&&a[i].lw>0)
    a[i].s=a[i].s+8000;
    if(a[i].qc>85&&a[i].bc>80)
    a[i].s=a[i].s+4000;
    if(a[i].qc>90)
    a[i].s=a[i].s+2000;
    if(a[i].qc>85&&a[i].xb==89)
    a[i].s=a[i].s+1000;
    if(a[i].bc>80&&a[i].xg==89)
    a[i].s=a[i].s+850;
    }
    max=a[1].s;
    p=1;
    for(i=1;i<=n;i++){
    if(max<a[i].s){
    max=a[i].s;
    p=i;
    }
    zjq=zjq+a[i].s;
    }
    cout<<a[p].name<<endl;
    cout<<max<<endl;
    cout<<zjq<<endl;
    return 0;
    }

  • 0
    @ 2018-02-02 13:27:52

    #include <iostream>
    #include<string>
    #include<stdlib.h>
    using namespace std;
    struct students
    {
    string na;
    int count;
    };
    void bubble(students* st, int n)
    {
    int i = n - 1;
    while (i > 0)
    {
    int pos = 0;
    for (int j = 0; j < i; j++)
    {
    if (st[j].count < st[j + 1].count)
    {
    pos = j;
    students temp = st[j];
    st[j] = st[j + 1];
    st[j + 1] = temp;
    }
    }
    i = pos;
    }
    }
    int main()
    {
    int N;
    cin >> N;
    students* st = new students[N];
    string a;//姓名
    int b;//期末平均成绩
    int c;//班级评议成绩
    char d;//是否学生干部
    char e;//是否西部省份学生
    int f;//论文数量
    for(int i=0;i<N;i++)
    {
    cin >> a >> b>> c >> d>> e>> f;
    st[i].na = a;
    st[i].count = 0;
    if (b > 80 && f >= 1)
    {
    st[i].count = st[i].count + 8000;
    }
    if (b > 85 && c > 80)
    {
    st[i].count = st[i].count + 4000;
    }
    if (b > 90)
    {
    st[i].count = st[i].count + 2000;
    }
    if (b > 85 && e == 'Y')
    {
    st[i].count = st[i].count + 1000;
    }
    if (c > 80 && d == 'Y')
    {
    st[i].count = st[i].count + 850;
    }
    }
    bubble(st, N);
    int h = 0;
    for (int i = 0; i < N; i++)
    h = h + st[i].count;
    cout << st[0].na << endl;
    cout << st[0].count << endl;
    cout << h;
    system("pause");
    return 0;
    }

  • 0
    @ 2018-01-31 21:05:59

    输入控制符加空格

    #include<bits/stdc++.h>
    #include<string.h>
    int main(){
        int n,max=-1,maxn,fnl[101],cls[101],work[101],west[101],paper[101],money[101]={0};
        char name[101][101];
        memset(name,0,sizeof(name));
        scanf("%d",&n);
        for(int i=1;i<=n;++i){
            scanf("%s %d %d %c %c %d",name[i],&fnl[i],&cls[i],&work[i],&west[i],&paper[i]);
            if((fnl[i]>80)&&(paper[i]>0)) money[i]=money[i]+8000;
            if((fnl[i]>85)&&(cls[i]>80)) money[i]=money[i]+4000;
            if(fnl[i]>90) money[i]=money[i]+2000;
            if((fnl[i]>85)&&(west[i]=='Y')) money[i]=money[i]+1000;
            if((cls[i]>80)&&(work[i]=='Y')) money[i]=money[i]+850;
            if(money[i]>max){
                max=money[i];
                maxn=i;
            }
            money[0]=money[0]+money[i];
        }
        printf("%s\n%d\n%d",name[maxn],max,money[0]);
    } 
    
  • 0
    @ 2018-01-31 14:40:44

    难点只有一个

    5) 班级贡献奖,每人850元,班级评议成绩高于80分(>80)的学生干部均可获得;

    import java.util.Scanner;
    
    public class Main {
    
        static class Student {
            private String name;
            private int finalGrade;
            private int classGrade;
            private boolean classCadre;
            private boolean fromWest;
            private int paper;
            private int totalPrice;
        }
    
        public static void main(String[] args) {
            Scanner scan = new Scanner(System.in);
            int count = scan.nextInt();
            int allTotal = 0;
            Student bestStudent = new Student();
            Student student = null;
            for (int i = 0; i < count; i++) {
                student = new Main.Student();
                student.name = scan.next();
                student.finalGrade = scan.nextInt();
                student.classGrade = scan.nextInt();
                student.classCadre = "Y".equalsIgnoreCase(scan.next());
                student.fromWest = "Y".equalsIgnoreCase(scan.next());
                student.paper = scan.nextInt();
                getTotal(student);
                allTotal += student.totalPrice;
                if (student.totalPrice > bestStudent.totalPrice) {
                    bestStudent = student;
                }
            }
            scan.close();
            System.out.println(bestStudent.name);
            System.out.println(bestStudent.totalPrice);
            System.out.println(allTotal);
        }
    
        public static void getTotal(Student student) {
            int finalGrade = student.finalGrade;
            if (finalGrade > 90) {
                student.totalPrice += 2000;
            }
            if (finalGrade > 85) {
                if (student.classGrade > 80) {
                    student.totalPrice += 4000;
                }
                if (student.fromWest) {
                    student.totalPrice += 1000;
                }
            }
            if (finalGrade > 80 && student.paper > 0) {
                student.totalPrice += 8000;
            }
            if (student.classCadre && student.classGrade > 80) {
                student.totalPrice += 850;
            }
        }
    }
    
  • 0
    @ 2018-01-28 13:23:48

    package ZJ1;

    import java.util.Scanner;

    public class ZJ1_2_jiangxuejin {

    public static void main(String[] args) {
    // TODO Auto-generated method stub
    Scanner scan=new Scanner(System.in);
    int stuNum=scan.nextInt();
    String StuInfor[][]=new String[stuNum][6];
    int jiangxuejin[]=new int[stuNum];
    int total=0;
    for(int i=0;i<stuNum;i++)
    jiangxuejin[i]=0;
    for(int i=0;i<stuNum;i++){
    for(int j=0;j<6;j++){
    StuInfor[i][j]=scan.next();
    }
    if(Integer.parseInt(StuInfor[i][1])>80&&Integer.parseInt(StuInfor[i][5])>0)
    jiangxuejin[i]+=8000;
    if(Integer.parseInt(StuInfor[i][1])>85&&Integer.parseInt(StuInfor[i][2])>80)
    jiangxuejin[i]+=4000;
    if(Integer.parseInt(StuInfor[i][1])>90)
    jiangxuejin[i]+=2000;
    if(Integer.parseInt(StuInfor[i][1])>85&&StuInfor[i][4].equals("Y"))
    jiangxuejin[i]+=1000;
    if(Integer.parseInt(StuInfor[i][2])>80&&StuInfor[i][3].equals("Y"))
    jiangxuejin[i]+=850;
    }
    for(int i=0;i<stuNum;i++){
    total+=jiangxuejin[i];
    }
    int maxJXJ=jiangxuejin[0];
    int maxIndex=0;
    for(int i=0;i<stuNum;i++){
    if(jiangxuejin[i]>maxJXJ){
    maxJXJ=jiangxuejin[i];
    maxIndex=i;
    }
    }
    System.out.println(StuInfor[maxIndex][0]);
    System.out.println(jiangxuejin[maxIndex]);
    System.out.println(total);
    }

    }

  • 0
    @ 2018-01-28 11:25:30

    @xueyouchao,你开始输出1个“"input student num:”是干什么,你删掉试一试

  • 0
    @ 2018-01-28 11:19:17

    #include<iostream>
    using namespace std;
    struct xuesheng{
    string mingzi;
    int qmcj,bjjycj,lunwen,jiangxuejin;
    char ganbu,xibu;
    };
    int main(){
    int a,i,zuidazhi,he=0,weizhi=0;
    cin>>a;
    xuesheng b[a];
    for(i=0;i<a;i++){
    cin>>b[i].mingzi>>b[i].qmcj>>b[i].bjjycj>>b[i].ganbu>>b[i].xibu>>b[i].lunwen;
    b[i].jiangxuejin=0;
    if(b[i].qmcj>80&&b[i].lunwen>=1){
    b[i].jiangxuejin+=8000;
    }
    if(b[i].qmcj>85&&b[i].bjjycj>80){
    b[i].jiangxuejin+=4000;
    }
    if(b[i].qmcj>90){
    b[i].jiangxuejin+=2000;
    }
    if(b[i].qmcj>85&&b[i].xibu=='Y'){
    b[i].jiangxuejin+=1000;
    }
    if(b[i].bjjycj>80&&b[i].ganbu=='Y'){
    b[i].jiangxuejin+=850;
    }
    }
    zuidazhi=b[0].jiangxuejin;
    for(i=1;i<a;i++){
    if(b[i].jiangxuejin>zuidazhi){
    zuidazhi=b[i].jiangxuejin;
    weizhi=i;
    }
    }
    cout<<b[weizhi].mingzi<<endl<<zuidazhi<<endl;
    for(i=0;i<a;i++){
    he+=b[i].jiangxuejin;
    }
    cout<<he;
    return 0;
    }

  • 0
    @ 2018-01-24 01:49:27

    #include<stdio.h>
    #include<string.h>
    int fk(int a,int b,char c,char d,int e){
    int sum=0;
    if(a>80&&e>=1)sum+=8000;
    if(a>85&&b>80)sum+=4000;
    if(a>90)sum+=2000;
    if(a>85&&d=='Y')sum+=1000;
    if(b>80&&c=='Y')sum+=850;
    return sum;
    }
    int main(){
    int i,j,n,a,b,e,max=0,sum=0;
    char c,d;
    char numa[25];
    char maxname[25];
    scanf("%d",&n);
    for(i=0;i<n;i++){
    scanf("%s %d %d %c %c %d",&numa,&a,&b,&c,&d,&e);
    sum+=fk(a,b,c,d,e);
    if(max<fk(a,b,c,d,e)){
    strcpy(maxname,numa);
    max=fk(a,b,c,d,e);
    }
    }
    printf("%s\n%d\n%d",maxname,max,sum);
    return 0;
    }

  • 0
    @ 2018-01-24 01:49:18

    #include<stdio.h>
    #include<string.h>
    int fk(int a,int b,char c,char d,int e){
    int sum=0;
    if(a>80&&e>=1)sum+=8000;
    if(a>85&&b>80)sum+=4000;
    if(a>90)sum+=2000;
    if(a>85&&d=='Y')sum+=1000;
    if(b>80&&c=='Y')sum+=850;
    return sum;
    }
    int main(){
    int i,j,n,a,b,e,max=0,sum=0;
    char c,d;
    char numa[25];
    char maxname[25];
    scanf("%d",&n);
    for(i=0;i<n;i++){
    scanf("%s %d %d %c %c %d",&numa,&a,&b,&c,&d,&e);
    sum+=fk(a,b,c,d,e);
    if(max<fk(a,b,c,d,e)){
    strcpy(maxname,numa);
    max=fk(a,b,c,d,e);
    }
    }
    printf("%s\n%d\n%d",maxname,max,sum);
    return 0;
    }

  • 0
    @ 2018-01-14 10:07:33

    #include<iostream>
    #include<string>

    int main(){
    std::string a,g;
    int qimo,banjipinyi,n,lunwen,monny=0,result=0,sum=0;
    char xibu,ganbu;
    std::cin >> n;
    for(int i=0;i<n;i=i+1){
    std::cin >> a >> qimo >> banjipinyi >> ganbu >> xibu >> lunwen;
    monny=0;
    if(qimo>80&&lunwen>=1){
    monny=monny+8000;
    }
    if(qimo>85&&banjipinyi>80){
    monny=monny+4000;
    }
    if(qimo>90){
    monny=monny+2000;
    }
    if(qimo>85&&xibu=='Y'){
    monny=monny+1000;
    }
    if(banjipinyi>80&&ganbu=='Y'){
    monny=monny+850;
    }
    if(monny>result){
    g=a;
    result=monny;
    }
    sum=monny+sum;
    }
    std::cout << g << std::endl << result << std::endl << sum << std::endl;
    return 0;
    }

  • 0
    @ 2018-01-14 10:07:17

    #include<iostream>
    #include<string>

    int main(){
    std::string a,g;
    int qimo,banjipinyi,n,lunwen,monny=0,result=0,sum=0;
    char xibu,ganbu;
    std::cin >> n;
    for(int i=0;i<n;i=i+1){
    std::cin >> a >> qimo >> banjipinyi >> ganbu >> xibu >> lunwen;
    monny=0;
    if(qimo>80&&lunwen>=1){
    monny=monny+8000;
    }
    if(qimo>85&&banjipinyi>80){
    monny=monny+4000;
    }
    if(qimo>90){
    monny=monny+2000;
    }
    if(qimo>85&&xibu=='Y'){
    monny=monny+1000;
    }
    if(banjipinyi>80&&ganbu=='Y'){
    monny=monny+850;
    }
    if(monny>result){
    g=a;
    result=monny;
    }
    sum=monny+sum;
    }
    std::cout << g << std::endl << result << std::endl << sum << std::endl;
    return 0;
    }

  • 0
    @ 2018-01-06 23:05:28

    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    #include <string.h>
    struct student
    {
    char name[20];
    int qscore;
    int bscore;
    char bangan;
    char xibu;
    int lunwen;
    int z;

    }stu[100];

    int main()
    {
    int n,i,j=0,k=0;
    struct student temp;
    char ch;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
    scanf("%s %d %d %c %c %d",stu[i].name,&stu[i].qscore,&stu[i].bscore,&stu[i].bangan,&stu[i].xibu,&stu[i].lunwen);
    stu[i].z=0;
    if(stu[i].qscore>80&&stu[i].lunwen>=1)
    stu[i].z=stu[i].z+8000;
    if(stu[i].bscore>80&&stu[i].qscore>85)
    stu[i].z=stu[i].z+4000;
    if(stu[i].qscore>90)
    stu[i].z=stu[i].z+2000;
    if(stu[i].xibu=='Y'&&stu[i].qscore>85)
    stu[i].z=stu[i].z+1000;
    if(stu[i].bangan=='Y'&&stu[i].bscore>80)
    stu[i].z=stu[i].z+850;
    k=k+stu[i].z;
    }
    for(i=0;i<n-1;i++)
    {
    for(j=0;j<n-1;j++)
    {
    if(stu[j].z<stu[j+1].z)
    {
    temp=stu[j];
    stu[j]=stu[j+1];
    stu[j+1]=temp;
    }
    }
    }
    temp=stu[0];
    for(i=1;stu[i].z==temp.z&&i<n;i++)
    {
    if(strcmp(stu[i].name,temp.name)<0)
    temp=stu[i];
    }
    printf("%s\n%d\n%d",temp.name,temp.z,k);
    return 0;
    }

  • 0
    @ 2018-01-03 13:58:38

    python3 的老铁们嘿嘿嘿:
    N=int(input())
    sum_get=int(0)
    fir_stu=[' ',int(0)]
    while N!=0:
    N-=1
    massage=input().split()
    a_get=int(0)
    if int(massage[1])>int(80) and int(massage[5])>=int(1):
    a_get+=int(8000)
    if int(massage[1])>int(85) and int(massage[2])>int(80):
    a_get+=int(4000)
    if int(massage[1])>int(90):
    a_get+=int(2000)
    if int(massage[1])>int(85) and massage[4]=='Y':
    a_get+=int(1000)
    if int(massage[2])>int(80) and massage[3]=='Y':
    a_get+=int(850)
    if a_get>fir_stu[1]:
    fir_stu[0]=massage[0]
    fir_stu[1]=int(a_get)
    sum_get+=a_get
    print(str(fir_stu[0]))
    print(int(fir_stu[1]))
    print(int(sum_get))
    print('')

  • 0
    @ 2017-12-18 15:29:08

    /*输入的第一行是一个整数N(1 <= N <= 100),表示学生的总数。
    接下来的N行每行是一位学生的数据,从左向右依次是姓名,期末平均成绩,班级评议成绩,是否是学生干部,是否是西部省份学生,以及发表的论文数。
    姓名是由大小写英文字母组成的长度不超过20的字符串(不含空格);
    期末平均成绩和班级评议成绩都是0到100之间的整数(包括0和100);
    是否是学生干部和是否是西部省份学生分别用一个字符表示,Y表示是,N表示不是;
    发表的论文数是0到10的整数(包括0和10)。每两个相邻数据项之间用一个空格分隔。
    1) 院士奖学金,每人8000元,期末平均成绩高于80分(>80),并且在本学期内发表1篇或1篇以上论文的学生均可获得;@
    2) 五四奖学金,每人4000元,期末平均成绩高于85分(>85),并且班级评议成绩高于80分(>80)的学生均可获得;@
    3) 成绩优秀奖,每人2000元,期末平均成绩高于90分(>90)的学生均可获得;@
    4) 西部奖学金,每人1000元,期末平均成绩高于85分(>85)的西部省份学生均可获得;
    5) 班级贡献奖,每人850元,班级评议成绩高于80分(>80)的学生干部均可获得;
    只要符合条件就可以得奖,每项奖学金的获奖人数没有限制,每名学生也可以同时获得多项奖学金。*/

    #include <iostream>
    #include <algorithm>
    using namespace std;
    struct prize
    {
    string name; //姓名
    double final_exam; //期末成绩
    double evaluation_exam;//评测成绩
    char class_leader; //是否为班干
    char west; //是否为西部省份学生
    int paper; //发表过的论文数
    int money=0; //奖学金
    };

    bool cmp(prize a, prize b)//比较函数
    {
    return a.money < b.money; //指明按照古董重量升序排列
    }
    int main()
    {
    int N;
    cin>>N;
    struct prize num[N];
    for(int i=0;i<N;i++)
    {
    cin>>num[i].name>>num[i].final_exam>>num[i].evaluation_exam>>num[i].class_leader>>num[i].west>>num[i].paper;
    if(num[i].final_exam>80&&num[i].paper>=1)num[i].money+=8000; //院士奖学金
    if(num[i].final_exam>90)num[i].money+=2000; //成绩优秀奖
    if(num[i].final_exam>85&&num[i].evaluation_exam>80)num[i].money+=4000;//五四奖学金
    if(num[i].final_exam>85&&num[i].west=='Y')num[i].money+=1000;//西部奖学金
    if(num[i].evaluation_exam>80&&num[i].class_leader=='Y')num[i].money+=850; //班级贡献奖
    }

    int sum=0;
    sort(num,num+N,cmp);
    for(int i=0;i<N;i++)
    sum+=num[i].money;

    cout<<num[N-1].name<<"\n"<<num[N-1].money<<"\n"<<sum<<endl;

    return 0;
    }

  • 0
    @ 2017-12-11 20:59:56

    结构体。。。
    #include<bits/stdc++.h>
    using namespace std;
    int n,sum=0;
    struct student{
    string name;//姓名
    int core;//期末测试平均分
    int classcore;//班级测评分
    char head;//是否为学生干部
    char west;//是否为西部
    int article;//发表论文数
    int money;//奖学金
    int number;//编号
    }s[105];
    bool cmp(struct student a,struct student b){
    return a.money>b.money||(a.money==b.money&&a.number<b.number);//千万别少了序号判断,少了90分。。。
    }
    int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
    cin>>s[i].name>>s[i].core>>s[i].classcore>>s[i].head>>s[i].west>>s[i].article;
    s[i].number=i;
    if(s[i].core>80&&s[i].article>=1) s[i].money+=8000;
    if(s[i].core>85&&s[i].classcore>80) s[i].money+=4000;
    if(s[i].core>90) s[i].money+=2000;
    if(s[i].core>85&&s[i].west=='Y') s[i].money+=1000;
    if(s[i].classcore>80&&s[i].head=='Y') s[i].money+=850;
    sum+=s[i].money;
    }
    sort(s+1,s+1+n,cmp);
    cout<<s[1].name<<endl<<s[1].money<<endl<<sum<<endl;
    return 0;
    }

  • 0
    @ 2017-12-07 13:38:54

    请帮我看看哪里错了

    #include <iostream>
    #include <string>

    struct student {
    std::string name;
    int avgScore;
    int classScore;
    char isBan;
    char isWest;
    int pubSum;
    int money = 0;
    };

    int main()
    {
    int totalMoney = 0;
    int currentMaxStudent = 0;

    int stuNum;
    std::cout << "input student num: ";
    std::cin >> stuNum;
    student* students = new student[stuNum];

    for (int i = 0; i < stuNum; ++i) {
    std::cin >> students[i].name >> students[i].avgScore >> students[i].classScore
    >> students[i].isBan >> students[i].isWest >> students[i].pubSum;
    students[i].money += ((students[i].avgScore > 80) && (students[i].pubSum >= 1)) ? 8000 : 0;
    students[i].money += ((students[i].avgScore > 85) && (students[i].classScore > 80)) ? 4000 : 0;
    students[i].money += (students[i].avgScore > 90) ? 2000 : 0;
    students[i].money += ((students[i].avgScore > 85) && (students[i].isWest == 'Y')) ? 1000 : 0;
    students[i].money += ((students[i].avgScore > 80) && (students[i].isBan == 'Y')) ? 850 : 0;
    if (students[i].money > students[currentMaxStudent].money) {
    currentMaxStudent = i;
    }
    totalMoney += students[i].money;
    }

    printf("%s\n%d\n%d\n", students[currentMaxStudent].name.c_str(), students[currentMaxStudent].money, totalMoney);
    }

    我在MSVC里面跑了几个用例好像都是对的,为什么提交以后所有用例都失败了?

信息

ID
1001
难度
5
分类
模拟 点击显示
标签
递交数
39071
已通过
12712
通过率
33%
被复制
121
上传者