基础题。
#include <iostream>
#include <iomanip>
using namespace std;
//将分数转换为点数
int toCount(int x)
{
if (x >= 90) return 4;
else if (x >= 80) return 3;
else if (x >= 70) return 2;
else if (x >= 60) return 1;
else return 0;
}
int main()
{
int N;
while (cin >> N)
{
double s, p; //学分,分数
double sum = 0; //分数*点数 之和
double sumCredit = 0; //总学分
for (int i = 0; i < N; i++)
{
cin >> s >> p;
if (p == -1)
continue;
sum += s * toCount(p);
sumCredit += s;
}
if (sumCredit == 0)
cout << -1 << endl;
else
cout << fixed << setprecision(2) << sum / sumCredit << endl;
}
return 0;
}
继续加油。