我是靠谱客的博主 活泼小蝴蝶,最近开发中收集的这篇文章主要介绍2021年常州市“信息与未来“程序设计小能手比赛试题--比赛,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

注:本题文件名为match

题目描述

        小X参加了一场作文比赛的初赛。算上小X,他的学校一共有N个人参加了这场比赛。一个礼拜后,小X兴奋的打开比赛官网,发现一等奖,二等奖,三等奖的分数线都已经公布了,但没有提到获得什么奖项才能进入复赛。小X想问问你,如果要获得A等奖才能进入复赛的话,他的学校能有多少人进入复赛呢?假设A等奖的分数线是X,一个人的分数是Y,如果Y大于等于X,这个人就获得了A等奖。

输入

        输入数据共四行,第一行一个正整数N,表示小X的学校共有N人参加了比赛。第二行N个正整数,表示小X的学校所有人的得分。第三行三个正整数L1,L2,L3,分别表示三等奖,二等奖,一等奖的分数线。第四行一个正整数A,表示要获得A等奖才能进入复赛。

输出

        输出一行包含一个正整数,表示有多少人进入复赛。

样例组

输入
4
99 101 200 300
100 200 300
2

输出 2

数据范围

对于20%的数据,N=1(学校只有小X参加了比赛);

对于60%的数据:N<=10;

对于全部数据:所有人的得分<=1000,L3<=L2<=L1<=1000,1<=A<=3,N<=10000。

解题思路

这道题目先输入数据,然后再拿L[A]去与每位选手的成绩进行比较,得到这个学校进复赛的人数。最后输出这个数值就完事了。

题目解析

        这道题目可以把L1,L2,L3储存在数组L里,这样可以在统计的时候使用循环,减少代码行数,也使写程序的时候更加便利。

        这道题目的统计(计数)部分是这道题的主体部分,用循环与L[A]比较就可以了。具体实现代码如下:

int count(int a[],int l[],int n,int x)
{
    int ans=0; 
    for(int i=1;i<=n;i++)
    	if(a[i]>=l[x])  ++ans;
    return ans;
}

这道题的具体代码如下:

#include<bits/stdc++.h>
using namespace std;
//这里用b数组代替l,x代替a
int n,x,ans=0,a[10001],b[4]; 
int main()
{
    cin>>n;
    for(int i=1;i<=n;++i)  cin>>a[i];
    cin>>b[3]>>b[2]>>b[1]>>x;
    for(int i=1;i<=n;i++)
    	if(a[i]>=b[x])  ++ans;
    cout<<ans;
	return 0;
} 

这道题目就这么多。

最后

以上就是活泼小蝴蝶为你收集整理的2021年常州市“信息与未来“程序设计小能手比赛试题--比赛的全部内容,希望文章能够帮你解决2021年常州市“信息与未来“程序设计小能手比赛试题--比赛所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部