乙级|1038.统计同成绩学生

题目描述

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

输入描述

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

输出描述

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

输入例子

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

输出例子

3 2 0

我的代码

#include
int main(){
    long n1,n2,i,j,k;
    int score[100000],find[100000],t[100000];
    scanf("%d",&n1);
    for(i=0;i

我的分析

其实这道题我在牛客网上是AC,但是正在PTA上面的最后一个测试点因为运行超时没有过。这道题的整体思路就是用两个循环来进行是这个分数的查找,然后使用数组t[ ]来存储找到的人数,最后在输出就可以了。

正确代码

#include 
#include 
int main()
 {
    int n,i,m,temp;
    int a[100000]={0};  //分数的计数 
    int b[100000]={0}; //存放需要查找的分数 
    scanf("%d",&n);   //输入总个数
    for(i=0;i0)
        {
          printf(" ");   //最后一个数不能有“ ” 
        }
        printf("%d",a[b[i]]);   //输出个数 
    }
     return 0;
} 

你可能感兴趣的:(乙级|1038.统计同成绩学生)