题目背景
NOIP2017 普及组 T1
题目描述
牛牛最近学习了 C++ 入门课程,这门课程的总成绩计算方法是:
总成绩=作业成绩×20%+小测成绩×30%+期末考试成绩×50%
牛牛想知道,这门课程自己最终能得到多少分。
输入格式
三个非负整数 A,B,C,分别表示牛牛的作业成绩、小测成绩和期末考试成绩。相邻两个数之间用一个空格隔开,三项成绩满分都是 100 分。
输出格式
一个整数,即牛牛这门课程的总成绩,满分也是 100 分。
输入输出样例
输入 #1复制
100 100 80
输出 #1复制
90
输入 #2复制
60 90 80
输出 #2复制
79
说明/提示
样例 1 说明
牛牛的作业成绩是 100 分,小测成绩是 100 分,期末考试成绩是 80 分,总成绩是 100×20%+100×30%+80×50%=20+30+40=90。
样例 2 说明
牛牛的作业成绩是 60 分,小测成绩是 90 分,期末考试成绩是 80 分,总成绩是 60×20%+90×30%+80×50%=12+27+40=79。
数据说明
对于 30% 的数据,A=B=0。
对于另外 30% 的数据,A=B=100。
对于 100% 的数据,0≤A,B,C≤100 且 A,B,C 都是 10 的整数倍。
# 读取用户输入并按空格分割成列表,然后将列表中的元素转换为整数
# 示例输入:"100 60 80" → [100, 60, 80]
A, B, C = map(int, input().split())
# 计算总成绩
# 总成绩 = 作业成绩 * 0.2 + 小测成绩 * 0.3 + 期末考试成绩 * 0.5
# 使用 int() 将结果转换为整数(向下取整)
score = int(A * 0.2 + B * 0.3 + C * 0.5) # 示例:100*0.2 + 60*0.3 + 80*0.5 = 78
# 输出总成绩
print(score) # 示例输出:78
代码功能说明
-
输入处理:
-
使用
input().split()
读取用户输入并按空格分割成列表。 -
使用
map(int, ...)
将列表中的元素转换为整数。
-
-
总成绩计算:
-
根据权重计算总成绩:
总成绩=A×0.2+B×0.3+C×0.5总成绩=A×0.2+B×0.3+C×0.5 -
使用
int()
将结果转换为整数(向下取整)。
-
-
输出结果:
-
直接输出总成绩。
-