zoukankan      html  css  js  c++  java
  • List Grades (25)

    题目描述

    Given a list of N student records with name, ID and grade. 
    You are supposed to sort the records with respect to the grade in non-increasing order,
    and output those student records of which the grades are in a given interval.

    输入描述:

    Each input file contains one test case.  Each case is given in the following format:
    N
    name[1] ID[1] grade[1]
    name[2] ID[2] grade[2]
    ... ...
    name[N] ID[N] grade[N]
    grade1 grade2
    where name[i] and ID[i] are strings of no more than 10 characters with no space, grade[i] is an integer in [0, 100],
    grade1 and grade2 are the boundaries of the grade's interval. It is guaranteed that all the grades are distinct.



    输出描述:

    For each test case you should output the student records of which the grades are in the given interval [grade1, grade2] 
    and are in non-increasing order. Each student record occupies a line with the student's name and ID, separated by one space.
    If there is no student's grade in that interval, output "NONE" instead.

    输入例子:

    4
    Tom CS000001 59
    Joe Math990112 89
    Mike CS991301 100
    Mary EE990830 95
    60 100

    输出例子:

    Mike CS991301
    Mary EE990830
    Joe Math990112

    思路:简单模拟,n个学生信息包括学生姓名,科目代号,分数,给两个分数的左右区间,问分数在这两个区间的范围内的学生有哪些,有的话按照成绩的非递增顺序输出学生的姓名和科目。
    没有输出“NONE”
    #include<bits/stdc++.h>
    using namespace std;
    
    struct student {
        char name[11];
        int grade;
        char subject[11];
    };
    student res[101];
    student stu[101];
    bool cmp(student a, student b)
    {
        return a.grade >= b.grade;
    }
    int main()
    {
        //freopen("in.txt", "r", stdin);
        ios::sync_with_stdio(false), cin.tie(0);
        int n;
        cin >> n;
        for (int i = 0; i < n; i++)
            cin >> stu[i].name >> stu[i].subject >> stu[i].grade;
        int left, right;
        cin >> left >> right;
        int cnt = 0;
        for (int i = 0; i < n; i++)
            if (stu[i].grade >= left && stu[i].grade <= right)
                res[cnt++] = stu[i];
        if (cnt == 0) {cout << "NONE"; return 0;}
        sort(res, res + cnt, cmp);
        for (int i = 0; i < cnt; i++)
            cout << res[i].name << " " << res[i].subject << endl;
        return 0;
    
    }
    View Code
  • 相关阅读:
    springboot文件上传: 单个文件上传 和 多个文件上传
    Eclipse:很不错的插件-devStyle,将你的eclipse变成idea风格
    springboot项目搭建:结构和入门程序
    POJ 3169 Layout 差分约束系统
    POJ 3723 Conscription 最小生成树
    POJ 3255 Roadblocks 次短路
    UVA 11367 Full Tank? 最短路
    UVA 10269 Adventure of Super Mario 最短路
    UVA 10603 Fill 最短路
    POJ 2431 Expedition 优先队列
  • 原文地址:https://www.cnblogs.com/kuroko-ghh/p/10289921.html
Copyright © 2011-2022 走看看