本文主要是介绍东方博宜1565 - 成绩(score),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题描述
牛牛最近学习了 C++ 入门课程,这门课程的总成绩计算方法是:
总成绩=作业成绩 ×20% + 小测成绩 ×30% + 期末考试成绩 ×50%。
牛牛想知道,这门课程自己最终能得到多少分。
输入
三个非负整数 A、B、C ,分别表示牛牛的作业成绩、小测成绩和期末考试成绩。
相邻两个数之间用一个空格隔开,三项成绩满分都是 100 分。
输出
一个整数,即牛牛这门课程的总成绩,满分也是 100 分。
样例
输入
100 100 80
输出
90
输入
60 90 80
输出
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%= 79 。
【数据说明】
对于 30% 数据,A=B=0 。
对于另外 30% 的数据, A=B=100 。
对于 100% 的数据,0≤A , B ,C≤100 且 A、B、C 都是 10 的整数倍。
代码1
#include <iostream>
using namespace std;int main() {int A, B, C;cin >> A >> B >> C;int totalScore = A * 20 / 100 + B * 30 / 100 + C * 50 / 100;cout << totalScore << endl;return 0;
}
该代码首先读入输入的三个非负整数 A、B、C,分别表示牛牛的作业成绩、小测成绩和期末考试成绩。
然后,我们使用公式 A * 20 / 100 + B * 30 / 100 + C * 50 / 100
计算总成绩,并将结果赋值给变量 totalScore
。
最后,我们输出 totalScore
,即牛牛这门课程的总成绩。
这种方法使用整数除法来计算每个成绩所占的比例,保证结果是一个整数。注意,我们使用的是整数除法(/
),所以计算每个成绩所占的百分比时需要将分子乘以相应的比例,即20%,30%和50%。
代码2
#include <iostream>
using namespace std;int main() {int A, B, C;cin >> A >> B >> C;double totalScore = A * 0.2 + B * 0.3 + C * 0.5;cout << static_cast<int>(totalScore + 0.5) << endl;return 0;
}
该代码首先读入输入的三个非负整数 A、B、C,分别表示牛牛的作业成绩、小测成绩和期末考试成绩。
然后,我们使用比例来计算每个成绩所占的权重。作业成绩占总成绩的20%,小测成绩占30%,期末考试成绩占50%。我们将每个成绩乘以相应的权重,并将结果相加,得到总成绩。
最后,我们将总成绩四舍五入到最接近的整数,并输出。
这种方法使用浮点数来计算每个成绩所占的权重,无需使用整数除法,结果也更加精确。注意,我们在将总成绩四舍五入到整数时,使用了加0.5的小技巧,然后将结果转换为整数类型输出。
这篇关于东方博宜1565 - 成绩(score)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!