题意:输入N代表示例个数,K代表课程数,然后输入课程名、Credit、Score,GPA = (C1 * S1 + C2 * S2 +……+Ci * Si……) / (C1 + C2 + ……+ Ci……) (1 <= i <= K, Ci != 0)根据公式计算GPA,如果 0 <= Si < 60,则GPA不存在,直接输出“Sorry!”。每个测试示例之间有空行,最后一个没有空行(特别注意这点),详见代码:
Code:
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
//freopen("input.txt","r",stdin);
int T,N;
scanf("%d",&T);
for(int j = 0; j<T; j++)
{
scanf("%d",&N);
int flag = 1;
char str[35];
double C,S;
double sumC = 0, sumS = 0;
for(int i = 0; i<N; i++)
{
scanf("%s%lf%lf",str,&C,&S);
if(S < 60) flag = 0;
else
{
sumC +=C;
sumS +=C*S;
}
}
double temp = sumS/sumC;
if(flag) printf("%.2lf\n",temp);
else printf("Sorry!\n");
if(j != T-1) printf("\n");
}
return 0;
}