本题是道水题,简单的计算GPA。

不过通过处理这并不是重点,多次提交后WA到绝望,不得不打开了Discuss,发现了两个问题

第一个是数据类型,题目并没讲清楚学分和成绩的数据类型,本题的答案默认是浮点型,故整型都算错,尽管我们可能输出的是两位浮点型

第二个是换行符,开始是很大意了,没注意到两组输出结果中其实也是有换行符的,按照正常思维,输出结果后带换行符,然后在每个测试组后再加换行符即可,但本题和以前的题目一样,追求输出的美观性,故要求最后一组输出后不得有与下一组数据分隔开的换行符。其实也有道理嘛,都没有下一组测试数据了,要这换行符有何用。

总之,以后在自己WA时,要多方考虑,既考虑是否有某个地方的思路错误,还有就是格式错误PE啊!

贴个代码,纪念为了 PE 和 WA 的2061. 

#include<stdio.h>
typedef struct{
	char name[35];
	double credit;
	double score;
}grade;
int main()
{
	int N;
	scanf("%d", &N);
	while(N--){
		int K, i, flag = 1;
		double sum = 0, sumc = 0;
		scanf("%d", &K);
		grade g[1000];
		
		for(i = 0; i < K; i++){ 
			scanf("%s %lf %lf", g[i].name, &g[i].credit, &g[i].score);	
			if(g[i].score >= 0 && g[i].score < 60)
				flag = 0;
			sum = sum + g[i].credit * g[i].score;
			sumc = sumc + g[i].credit;
		}
		if(flag == 0)
			printf("Sorry!\n"); 
		else
			printf("%.2lf\n", sum / sumc);
		if(N != 0)
			printf("\n");
	}
	return 0;
}