PAT-A 1083. List Grades (25)

来源:互联网 发布:sql查询分析器不见了 编辑:程序博客网 时间:2024/04/29 08:48

题目链接在此。

题意

给出N个学生的信息(姓名,学号,分数),然后给出分数1和分数2,要求输出成绩在分数1和分数2之间的学生的姓名和学号。

AC代码

#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>using namespace std;struct INFO{    char name[11];    char id[11];    int grade;};bool cmp(INFO a, INFO b){    return a.grade > b.grade;}int main(){    int N;    scanf("%d", &N);    getchar(); //吸收换行     INFO stu[N];    for(int i = 0; i < N; i++){        scanf("%s %s %d",&stu[i].name, &stu[i].id, &stu[i].grade);    }    sort(stu, stu+N, cmp);    int g1,g2;    scanf("%d %d",&g1, &g2);    bool flag = false; //用来判断有没有符合分数条件的学生     for(int i = 0; i < N; i++){        if(stu[i].grade >= g1 && stu[i].grade <= g2){            printf("%s %s\n",stu[i].name, stu[i].id);            flag = true;        }    }    if(flag == false){        printf("NONE\n");    }    return 0;}
0 0
原创粉丝点击