­

统计同成绩学生人数

  • 2019 年 11 月 8 日
  • 筆記

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_42449444/article/details/89071843

题目描述:

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

输入描述:

测试输入包含若干测试用例,每个测试用例的格式为  第1行:N  第2行:N名学生的成绩,相邻两数字用一个空格间隔。  第3行:给定分数  当读到N=0时输入结束。其中N不超过1000,成绩分数为(包含)0到100之间的一个整数。

输出描述:

对每个测试用例,将获得给定分数的学生人数输出。

输入样例:

3  80 60 90  60  2  85 66  0  5  60 75 90 55 75  75  0

输出样例:

1  0  2

解题思路:

主要就是考了个map的用法吧。用map来记录考到某个成绩的人数

AC代码:

#include <bits/stdc++.h>  using namespace std;    int main()  {      int N;      while(cin >> N && N)  //输入若干测试用例,当读到N=0时结束输入      {          map<int,int> m;   //map的key是成绩,value是该成绩的人数          for(int i = 0; i < N; i++)          {              int temp;              cin >> temp;              m[temp]++;          }          int temp;   //查询该分数temp的人数          cin >> temp;          cout << m[temp] << endl;      }      return 0;  }