目录
题目描述
小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数。
如果得分至少是 60 分,则称为及格。如果得分至少为 85 分,则称为优秀。
请计算及格率和优秀率,用百分数表示,百分号前的部分四舍五入保留整数。
输入描述
输入的第一行包含一个整数 n,表示考试人数。
接下来 n行,每行包含一个 0 至 100 的整数,表示一个学生的得分。
输出描述
输出两行,每行一个百分数,分别表示及格率和优秀率。百分号前的部分 四舍五入保留整数。
输入输出样例
输入
7 80 92 56 74 88 100 0
输出
71% 43%
运行代码
运用数组
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
int a[n];
for(int i=0;i<n;i++)
cin>>a[i];
int x=0,y=0;
for(int i=0;i<n;i++){
if(a[i]>=60){
x++;
if(a[i]>=85) y++;
}
}
cout<<setprecision(0)<<fixed<<1.0*x/n*100<<"%"<<endl;
cout<<setprecision(0)<<fixed<<1.0*y/n*100<<"%"<<endl;
return 0;
}
运用了函数
#include<iostream>
#include<cstdio>
using namespace std;
int n(double s){
int n=(int)s;
s=s-n;
if(s>0.5)n++;
return n;
}
int main(){
int num;
int a[10000];
cin>>num;
for(int i=0;i<num;i++){
cin>>a[i];
}
double youxiu=0;
double jige=0;
for(int i=0;i<num;i++){
if(a[i]>=60){
jige++;
if(a[i]>=85){
youxiu++;
}
}
}
jige=jige*100/num;
youxiu=youxiu*100/num;
cout<<n(jige)<<"%"<<endl;
cout<<n(youxiu)<<"%"<<endl;
}
简单版
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
int x=0,y=0;
int c;
for(int i=0;i<n;i++){
cin>>c;
if(c>=60)x++;
if(c>=85)y++;
}
cout<<setprecision(0)<<fixed<<1.0*x/n*100<<"%"<<endl;
cout<<setprecision(0)<<fixed<<1.0*y/n*100<<"%"<<endl;
return 0;
}