C语言之成绩统计

欢迎进入我的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;
} 

本题感悟

本块内容可能来自课本或其他网站,若涉及侵权问题,请联系我进行删除,谢谢大家啦~

用到了结构体,整体来说还挺简单是

以上。

猜你喜欢

转载自blog.csdn.net/hongguoya/article/details/106451262
今日推荐