开始准备将数字转为字符串去进行四舍五入,结果在合格率和优秀率为100和0 的情况下卡住了,最后还是把数字放大计算四舍五入的为好
//注意:特判的情况 如:合格率为100
#include<iostream>
#include<string>
using namespace std;
int main()
{
int n, m;
cin >> n;
int sum1 = 0, sum2 = 0;
for(int i = 0; i < n; i++)
{
cin >> m;
if(m >= 60) sum1++;
if(m >= 85) sum2++;
}
sum1 = sum1 * 1000 / n;
sum2 = sum2 * 1000 / n;
int k = sum1 % 10;
if(k > 5) sum1 = (sum1 / 10) + 1;
else sum1 /= 10;
k = sum2 % 10;
if(k > 5) sum2 = (sum2 / 10) + 1;
else sum2 /= 10;
cout << sum1 << "%" << endl;
cout << sum2 << "%" << endl;
return 0;
}