【成绩统计】
输入的第一行包含一个整数 n表示考试人数,接下来 n 行,每行包含一个 0 至 100 的整数,表示一个学生的得分。
输出两行,每行一个百分数,分别表示及格率和优秀率。百分号前的部分 四舍五入保留整数。
#include<iostream>
using namespace std;
int main()
{
int n, x=0, y=0;
float num;
cout << "请输入考试人数:" << endl;
cin >> n;
cout << "请输入成绩:" << endl;
for (int i = 0; i < n; i++)
{
cin >> num;
if(num<0||num>100)
{
cout << "输入错误" << endl;
return 1;
}
if (num >= 85)
x++;
if (num>= 60)
y++;
}
int m = x * 100 / n * 1.0 + 0.5;//因为数据为int型,所以加0.5,起到了四舍五入的效果
int z = y * 100 / n * 1.0 + 0.5;
cout << "优秀率:" << m<<"%"<< endl;
cout << "及格率:" << z <<"%"<< endl;
system("pause");
return 0;
}
【成绩管理】
输入的第一行包含一个整数 n (1≤n≤10^4),表示考试人数。接下来 n 行,每行包含一个 0 至 100 的整数,表示一个学生的得分。
输出三行。第一行包含一个整数,表示最高分。第二行包含一个整数,表示最低分。第三行包含一个实数,四舍五入保留正好两位小数,表示平均分。
#include <iostream>
#include<iomanip>
using namespace std;
int main()
{
int n;
float a;
float mmax = 0, mmin = 100, sum = 0;
cin >> n;
for (int i = 0; i < n; i++)
{
cin >> a;
mmax = max(mmax, a);
mmin = min(mmin, a);
sum += a;
}
cout << mmax << endl;
cout << mmin << endl;
cout <<fixed<<setprecision(2)<<sum /n ;//与fixed联和使用保留两位小数
return 0;
}