题目背景
NOIP2017 普及组 T1
题目描述
牛牛最近学习了 C++ 入门课程,这门课程的总成绩计算方法是:
总成绩=作业成绩×20%+\times 20\%+×20%+小测成绩×30%+×30\%+×30%+期末考试成绩×50%\times 50\%×50%
牛牛想知道,这门课程自己最终能得到多少分。
输入格式
三个非负整数 A,B,CA,B,CA,B,C,分别表示牛牛的作业成绩、小测成绩和期末考试成绩。相邻两个数之间用一个空格隔开,三项成绩满分都是 100100100 分。
输出格式
一个整数,即牛牛这门课程的总成绩,满分也是 100100100 分。
样例输入
100 100 80
样例输出
90
样例输入
60 90 80
样例输出
79
输入输出样例 1 说明
牛牛的作业成绩是 100100100 分,小测成绩是 100100100 分,期末考试成绩是 808080 分,总成绩是 100×20%+100×30%+80×50%=20+30+40=90100 \times 20\%+100 \times 30\%+80 \times 50\%=20+30+40=90100×20%+100×30%+80×50%=20+30+40=90。
输入输出样例 2 说明
牛牛的作业成绩是 606060 分,小测成绩是 909090 分,期末考试成绩是 808080 分,总成绩是 60×20%+90×30%+80×50%=12+27+40=7960 \times 20\%+90 \times 30\%+80 \times 50\%=12+27+40=7960×20%+90×30%+80×50%=12+27+40=79。
数据说明
对于 30%30\%30% 的数据,A=B=0A=B=0A=B=0。
对于另外 30%30\%30% 的数据,A=B=100A=B=100A=B=100。
对于 100%100\%100% 的数据,0≤A,B,C≤1000≤A,B,C≤1000≤A,B,C≤100 且 A,B,CA,B,CA,B,C 都是 101010 的整数倍。
思路分析
A,B,CA,B,CA,B,C,分别表示牛牛的作业成绩、小测成绩和期末考试成绩。
总成绩=作业成绩×20%+\times 20\%+×20%+小测成绩×30%+×30\%+×30%+期末考试成绩×50%\times 50\%×50%。A,B,C 都是 10 的整数倍, 所以总成绩一定是一个整数。
参考代码
#include<iostream>
using namespace std;
int main() {
int a, b, c;
cin >> a >> b >> c;
int s = a * 0.2 + b * 0.3 + c * 0.5;
cout << s;
return 0;
}

该文描述了一个编程竞赛题目,涉及C++入门课程的成绩计算方法。总成绩由作业、小测和期末考试三部分按比例组成,程序需要读取输入的三部分成绩并计算总成绩,输出结果为整数。提供了样例输入和输出以及相应的解释。
275

被折叠的 条评论
为什么被折叠?



