问题描述
小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数。
如果得分至少是 60 分,则称为及格。如果得分至少为 85 分,则称为优秀。
请计算及格率和优秀率,用百分数表示,百分号前的部分四舍五入保留整数。
代码
#include <iostream>
#include<math.h>
using namespace std;
int main()
{
// 请在此输入您的代码
int n;
int grade;
int pass=0,good=0;
double pass_r,good_r;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>grade;
if(grade>=60)
{
pass++;
}
if(grade>=85)
{
good++;
}
}
pass_r=round(1.0*pass*100/n);
good_r=round(1.0*good*100/n);
cout<<pass_r<<"%"<<endl;
cout<<good_r<<"%"<<endl;
return 0;
}
注意
数据类型要注意,最重要的是 good_r=round(1.0*good*100/n);
这句,整数变成浮点数要 *1.0
,以及注意四舍五入。
知识点
round()
函数:C++:round函数的用法,简单说,round()
函数只保留整数部分。