FZU 1587 成绩统计

 

成绩统计
Time Limit:1s Memory limit:32M
Accepted Submit:408 Total Submit:839

 

高考成绩出来之后,各所大学开始按照分数的高低来录取学生。
然而,成绩仅从高到低排序则未能显示出分数正态分布曲线的特点,负责招生工作的老师们想统计一下某些“分数段”的学生人数。
由于考试人数众多,希望你能帮忙编程解决。

 

输入数据

 

本题有多组输入数据,你必须处理到EOF为止。
每组数据第一行为一个整数N表示参加考试的总人数(1<=N<=10,000)。第二行为N个整数,表示这N个考生的成绩,考生的成绩范围为[0..100]。
第三行是一个整数Q(1<=Q<=1,000)表示老师的查询次数,接下来Q行,每行两个整数L, H(0≤L≤H≤100)表示老师要查询在[L..H]这个分数段内的学生人数。

 

输出数据

 

对于每一个查询,输出一行,表示在查询分数段内的学生人数。

 

输入样例

3
10 20 30
3
5 100
10 20
0 10

输出样例

3
2
1

Original: 福州大学第五届程序设计竞赛

 

解题:

       功能依旧封装在函数里面,虽然AC了,但是用的时间和空间都不好。唉...  得学习新的方法了,老是不长进。

#include <iostream> using namespace std; int people(int a[],int length,int m,int n) { int flag=0; for(int i=0;i<length;i++) { if(a[i]>=m && a[i]<=n) flag++; } return flag; } int main() { int N,Q,m,n; int score[10001]; while(cin>>N) { for(int i=0;i<N;i++) cin>>score[i]; cin>>Q; while(Q--) { cin>>m>>n; cout<<people(score,N,m,n)<<endl; } } return 0; }

你可能感兴趣的:(编程,工作,ini)