【洛谷算法题】P3954-成绩【入门1顺序结构】
🌏题目背景
NOIP2017 普及组 T1
🌏题目描述
牛牛最近学习了 C++ 入门课程,这门课程的总成绩计算方法是:
总成绩=作业成绩$ \times 20%+小测成绩 小测成绩小测成绩×30%+期末考试成绩 期末考试成绩期末考试成绩 \times 50%$
牛牛想知道,这门课程自己最终能得到多少分。
🌏输入格式
三个非负整数 A , B , C A,B,CA,B,C,分别表示牛牛的作业成绩、小测成绩和期末考试成绩。相邻两个数之间用一个空格隔开,三项成绩满分都是 100 100100 分。
🌏输出格式
一个整数,即牛牛这门课程的总成绩,满分也是 100 100100 分。
🌏样例 #1
🌙样例输入 #1
100 100 80
🌙样例输出 #1
90
🌏样例 #2
🌙样例输入 #2
60 90 80
🌙样例输出 #2
79
🌏提示
🌙输入输出样例 1 说明
牛牛的作业成绩是 100 100100 分,小测成绩是 100 100100 分,期末考试成绩是 80 8080 分,总成绩是 100 × 20 % + 100 × 30 % + 80 × 50 % = 20 + 30 + 40 = 90 100 \times 20\%+100 \times 30\%+80 \times 50\%=20+30+40=90100×20%+100×30%+80×50%=20+30+40=90。
🌙输入输出样例 2 说明
牛牛的作业成绩是 60 6060 分,小测成绩是 90 9090 分,期末考试成绩是 80 8080 分,总成绩是 60 × 20 % + 90 × 30 % + 80 × 50 % = 12 + 27 + 40 = 79 60 \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 = 0 A=B=0A=B=0。
对于另外 30 % 30\%30% 的数据,A = B = 100 A=B=100A=B=100。
对于 100 % 100\%100% 的数据,0 ≤ A , B , C ≤ 100 0≤A,B,C≤1000≤A,B,C≤100 且 A , B , C A,B,CA,B,C 都是 10 1010 的整数倍。
🌏题解
import java.util.Scanner; public class P3954 { public static void main(String[] args) { Scanner in = new Scanner(System.in); int a = in.nextInt(), b = in.nextInt(), c = in.nextInt(); System.out.print((int)(a * 0.2 + b * 0.3 + c * 0.5)); in.close(); } }
🌏总结
由题意我们只需要一个公式a * 0.2 + b * 0.3 + c * 0.5
就可以得到我们想要的总成绩,但是题目要求最后的成绩是一个整数,但是以上公式肯定会有得到浮点数的情况,所以我们要将结果强制转换为 int 类型。