成绩统计
欢迎进入我的C语言世界
题目
Problem Description
高考成绩出来之后,各所大学开始按照分数的高低来录取学生。
然而,成绩仅从高到低排序则未能显示出分数正态分布曲线的特点,负责招生工作的老师们想统计一下某些“分数段”的学生人数。
由于考试人数众多,希望你能帮忙编程解决。
Input
本题有多组输入数据,你必须处理到EOF为止。
每组数据第一行为一个整数N表示参加考试的总人数(1<=N<=10,000)。第二行为N个整数,表示这N个考生的成绩,考生的成绩范围为[0…100]。
第三行是一个整数Q(1<=Q<=1,000)表示老师的查询次数,接下来Q行,每行两个整数L, H(0≤L≤H≤100)表示老师要查询在[L…H]这个分数段内的学生人数。
Output
对于每一个查询,输出一行,表示在查询分数段内的学生人数。
Sample Input
3
10 20 30
3
5 100
10 20
0 10
Sample Output
3
2
1
答案
下面展示 实现代码
。
#include <iostream>
#include <stdio.h>
using namespace std;
int a[10007];
struct node
{
int begin;
int end;
}b[1007];
int main()
{
int n;
while(scanf("%d",&n) != EOF)
{
for(int i = 0; i < n; i++)
{
scanf("%d",&a[i]);
}
int t;
scanf("%d",&t);
for(int j = 0; j < t; j++)
{
int num = 0;
scanf("%d%d",&b[j].begin,&b[j].end);
for(int i = 0; i < n; i++)
{
if(a[i] >= b[j].begin &&a[i] <= b[j].end)
{
num++;
}
}
printf("%d\n",num);
}
}
return 0;
}
本题感悟
本块内容可能来自课本或其他网站,若涉及侵权问题,请联系我进行删除,谢谢大家啦~
用到了结构体,整体来说还挺简单是
以上。