东方博宜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的小技巧,然后将结果转换为整数类型输出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值