这里是蓝桥杯历年的题目,欢迎关注公众号“放码过来呀”
题目名称:成绩统计
题目描述:
小蓝给学生们组织了一场考试,卷面总分为100分,每个学生的得分都是一个0到100的整数。如果得分至少是60分,则称为及格。如果得分至少为85分,则称为优秀。请计算及格率和优秀率,用百分数表示,百分号前的部分四舍五入保留整数。
【输入格式】
输入的第一行包含一个整数n,表示考试人数。接下来n行,每行包含一个0至100的整数,表示一个学生的得分。
【输出格式】
输出两行,每行一个百分数,分别表示及格率和优秀率。百分号前的部分四舍五入保留整数。
【样例输入】
7
80
92
56
74
88
100
0
【样例输出】
71%
43%
【评测用例规模与约定】
对于 50% 的评测用例,1 ≤ n ≤ 100。
对于所有评测用例,1 ≤ n ≤ 10000。
题目分析:
通过for循环将数据输入,通过两个判断语句将数据筛选,最后将结果按要求输出
题目代码 :
#include<iostream>
#include<cmath>
using namespace std;
int main ()
{
int n,nub,excellent=0,pass=0;
//excellent 优秀 pass 及格
int ans1,ans2;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>nub;
if(nub>=60)
pass++;
if(nub>=85)
excellent++;
//每输入一个数,进行一次判断累加
}
ans1=floor((double)pass*100.0/n+0.5);
ans2=floor((double)excellent*100.0/n+0.5);
//floor函数:double类型向下取整
//补充:ceil函数,double类型向上取整
cout<<ans1<<"%"<<endl;
cout<<ans2<<"%"<<endl;
return 0;
}
运行结果:
数据测试:
题目细节:
本题关键在于数据的输出(四舍五入),需要借助floor函数