注册 登录
编程论坛 C++教室

求助,一到我感觉尴尬的题

根根本根 发布于 2018-11-22 19:53, 1766 次点击
.统计同成绩学生人数(score.cpp)
时间限制: 1 Sec  内存限制: 32 MB
题目描述
读入N名学生的成绩,将获得某一给定分数的学生人数输出。
输入
测试输入包含若干测试用例,每个测试用例的格式为
第1行:N
第2行:N名学生的成绩,相邻两数字用一个空格间隔。
第3行:给定分数
当读到N=0时输入结束。其中N不超过1000,成绩分数为(包含)0到100之间的一个整数。
输出
对每个测试用例,将获得给定分数的学生人数输出。
样例输入
4
70 80 90 100
80
3
65 75 85
55
5
60 90 90 90 85
90
0
样例输出
1
0
3

6 回复
#2
根根本根2018-11-22 20:22
#3
根根本根2018-11-22 20:31
回复 2楼 根根本根
323
#4
根根本根2018-11-22 20:31
回复 3楼 根根本根
  s
#5
根根本根2018-11-22 20:31
回复 4楼 根根本根
  

[此贴子已经被作者于2018-11-22 20:45编辑过]

#6
根根本根2018-11-22 20:45
回复 4楼 根根本根
#7
复旦2018-11-22 23:01
可以利用Map容器。
Map<int,int>
Map容器的特点是,a[b](b是int型,a是容器)代表值等于b的元素个数。
你把所有的数值装进Map容器,然后输出给定值的元素的数量。(比如是80分的话,输出a[80]).
输出的时候,利用迭代器输出。

int score;  // 给定分数
Map<int,int> a;
for (所有的分数)
a.insert(分数);
Map<int,int>::iterator iter;   //声明迭代器
for(iter=a.begin();iter!=a.end();++iter)
    if (*iter.first==score)
    cout<< *iter.second() << endl;





1