1.成绩统计 (2020年C/C++语言大学B组F题、C组F题)
[问题描述]
小蓝给学生们组织了一场考试,卷面总分为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。
[源代码]
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,x,cnt1=0,cnt2=0;
cin>>n;
for(int i=1;i<=n;i++) {
cin>>x;
if(x>=60) cnt1++;
if(x>=85) cnt2=cnt2+1;
}
cout<<setprecision(0)<<fixed<<(1.0*cnt1/n*100)<<"%\n"<<(1.0*cnt2/n*100)<<"%\n";
}
[思考]
1.iostream和bits/stdc++.h有什么区别?
iostream是一个头文件,允许您使用输入(cin)和输出(cout)。
bits/stdc++.h基本上是一种导入每个C++头文件的方法。
本题中因为setprecision函数的存在,需使用bits/stdc++.h。
2. setprecision(n)是什么意思?fixed呢?
setprecision(n)可控制输出流显示浮点数的数字个数。通常fixed合用,可以控制小数点右边的数字个数。fixed定点数记数法,不使用它的话就会四舍五入计算。