PAT 乙级 1038 统计同成绩学生

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

题目并不难,因为已经确定成绩为[0,100],只需要开一个大小为101的数组,记录下各个成绩出现的次数,输出时直接查表即可。

#include <iostream>
#include <string.h>
#include <map>
#include <algorithm>

using namespace std;

void count(int* p,int* q,long n,long x);

int main()
{
    long n;
    cin>>n;
    int* p=new int[n];
    for(long i=0;i<n;i++)
        cin>>p[i];
    long x;
    cin>>x;
    int* q=new int[x];
    for(long i=0;i<x;i++)
        cin>>q[i];
    count(p,q,n,x);
}

void count(int* p,int* q,long n,long x)
{
  int* r=new int[101];
  memset(r,0,101*sizeof(int));
  for(long i=0;i<n;i++)
  {
    r[p[i]]++;
  }
  for(long i=0;i<x-1;i++)
  {
    cout<<r[q[i]]<<" ";
  }
  cout<<r[q[x-1]];
  delete r;
}

我会一直在,我会一直走!

猜你喜欢

转载自www.cnblogs.com/FDProcess/p/9236122.html
今日推荐