0
点赞
收藏
分享

微信扫一扫

每日一题(2020年C/C++ B组第二场省赛第六题编程题)

凶猛的小白兔 2022-01-21 阅读 54

题目名称:成绩统计

题目描述:

小蓝给学生们组织了一场考试,卷面总分为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函数

举报

相关推荐

0 条评论