1038 统计同成绩学生


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

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

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

输入样例:
10
60 75 90 55 75 99 82 90 75 50
3 75 90 88



输出样例:
3 2 0

老方法了,运行时间不够,内存来凑。不过都这么简洁的代码c++还是要超时,没办法只好用回老本行c来,不得不说,c即使有万般不好,但运行速度就是吊打python,但stl实在太香了。

#include<stdio.h>
int main() {
    int a[101]= { 0 }, num, scr;
    scanf("%d",&num);
    for (int i = 0; i < num; i++) {
        scanf("%d",&scr);
        a[scr]++;
    }
    scanf("%d",&num);
    for (int i = 0; i < num; i++)
    {
        scanf("%d",&scr);
        printf("%d",a[scr]);
        if (i + 1 != num)printf(" ");
    }
}//用c++居然会超时?

 

posted @ 2020-03-10 20:50  kalice  阅读(120)  评论(0编辑  收藏  举报