noip2017普及组 成绩题解

这题应该是的noip普及组历年来最简单的一道题目。

不过,这题是存在问题的,一般人看到题意,马上就想到用3个数分别乘以0.2,0.3,0.5。但是,如果使用int乘以double,是会出现问题的。所以,这题可以使用加权平均数来做。3个成绩的权值分别为2,3,5,最后除以10就可以了。由于都是10的整数倍,所以不会出现小数。

代码如下:

#include
#include
using namespace std;
int main() {
	int a,b,c;
	scanf("%d %d %d",&a,&b,&c);
	printf("%d\n",(a*2+b*3+c*5)/10);
	return 0;
}

运行结果如下:

总结:

这题虽然简单,但还是有细节要注意。

你可能感兴趣的:(noip2017普及组 成绩题解)