zoukankan      html  css  js  c++  java
  • PAT 乙级1038 统计同成绩学生

    题目:

    本题要求读入 N 名学生的成绩,将获得某一给定分数的学生人数输出。

    输入格式:

    输入在第 1 行给出不超过 105​​ 的正整数 N,即学生总人数。随后一行给出 N 名学生的百分制整数成绩,中间以空格分隔。最后一行给出要查询的分数个数 K(不超过 N 的正整数),随后是 K 个分数,中间以空格分隔。

    输出格式:

    在一行中按查询顺序给出得分等于指定分数的学生人数,中间以空格分隔,但行末不得有多余空格。

    输入样例:

    10
    60 75 90 55 75 99 82 90 75 50
    3 75 90 88
    
     

    输出样例:

    3 2 0

    思路:将成绩作为数组下标输入然后统计该分数的人数,最后遍历输出就行。这题最后一个测试点的数据很庞大,所以超时的朋友们可以试着加第一句代码,是用来提高输入输出速度的。

    #include<iostream>
    using namespace std;
    int main()
    {
        ios::sync_with_stdio(false);//加这行能加快运行速度
        int grade[101] = { 0 }, N , K , score , search ;
        cin >> N;
        while (N--)
        {
            cin >> score;
            grade[score]++;
        }
        cin >> K;
        while (K--)
        {
            cin >> search;
            if (K != 0)
                cout << grade[search] << " ";
            else cout << grade[search];
        }
        return 0;
    }
  • 相关阅读:
    遇到的两个问题
    项目分析(map复习)
    while小问题
    二级指针
    映射文件实现进程通信
    struct {0}初始化
    用boost共享内存实现进程通信的例子
    mongo二维数组操作
    项目分析(channelid是如果产生的)
    string为什么可以写入共享内存
  • 原文地址:https://www.cnblogs.com/zongji/p/13289299.html
Copyright © 2011-2022 走看看