获得分数所需的最低分数”;x";(解释) 我在C++网上做了一个挑战,我被困在这一部分。

获得分数所需的最低分数”;x";(解释) 我在C++网上做了一个挑战,我被困在这一部分。,c++,C++,基本上,挑战如下 德普是一所大学的学生。他最喜欢的课程是数学。年底即将到来,德普问自己,要在最后一次考试中获得“K”分,他需要多少分 这位老师今年进行了5次考试,每次考试的最高分数是100分 If <=60 = Grade : 1 If >=60 && <= 69 = Grade : 2 If >=70 && <= 79 = Grade : 3 If >=80 && <= 89 = Grade : 4 If

基本上,挑战如下

德普是一所大学的学生。他最喜欢的课程是数学。年底即将到来,德普问自己,要在最后一次考试中获得“K”分,他需要多少分

这位老师今年进行了5次考试,每次考试的最高分数是100分

If <=60 = Grade : 1
If >=60 && <= 69 = Grade : 2
If >=70 && <= 79 = Grade : 3
If >=80 && <= 89 = Grade : 4
If >=90 && <= 100 = Grade: 5
If=60&&=70&&=80&&=90&&(t1+t2+t3+t4+t5)/5=K
式中,K等于给定K范围内的最小数。(如果为3,则K=70)

求解t5:

t5=5k-t1-t2-t3-t4


如果t5关键是你必须使用所需的平均分数计算结果。基本上,如果获得5、4、3和2的平均值分别为90、80、70和60,那么五项测试的分数之和分别为450、400、350和300。如果Derp需要的分数之和减去他迄今为止的分数,则超过50分100分,那么就不可能得到更好的分数。实际实现可能如下所示:

int main()
{
    int mark;
    int t1, t2, t3, t4;

    std::cin >> mark >> t1 >> t2 >> t3 >> t4;
    int total = t1 + t2 + t3 + t4;
    int total_needed = 5 * (60 + (mark - 2) * 10);
    int diff = total_needed - total;

    if (diff > 100) {
    std::cout << "Impossible" << std::endl;
    } else if (diff <= 0) {
        std::cout << "You have already got enough points" << std::endl;
    } else {
        std::cout << diff << " points needed yet" << std::endl;
    }

    return 0;
}
intmain()
{
整数标记;
int t1、t2、t3、t4;
标准:cin>>标记>>t1>>t2>>t3>>t4;
总积分=t1+t2+t3+t4;
所需总积分=5*(60+(2分)*10);
int diff=所需的总量-总量;
如果(差异>100){

std::难道你不知道如何编写函数吗?我在这里看到了一些重复。如果你复制并粘贴,最好引入一个
变量
,一个
函数
,或者一个
来封装它。我知道如何编写函数,但我实际上没有太多使用它们。我解决的大多数任务都不需要e函数的创建。不确定你将如何编写什么?你应该将你的问题限制在你所面临的特定问题上,而不是把整个作业都扔在上面。(基本上,忽略作业的部分和你已经使用的代码,关注问题的本质。)我的问题是我如何编码C++中的“数学”部分。我已经知道如何用数学手工完成它,但是在C++中没有。你确定这是正确的,因为例如,如果你输入“5 10 20 20 30”,它就需要10个点,这是不可能的。在使用了你的代码的最新版本之后,它不可能输出“5 10 20 30 40”。,但对于输入的“2100”,它输出-100。这是错误的,应该是0。。我似乎不明白这是怎么做到的。@JohnSmith这一切都取决于你如何解释它…如果结果是负值,这意味着Derp已经有了获得该分数所需的点数。但是如果你愿意,我可以包含一个检查。
#include int main(){int mark;int t1,t2,t3,t4;std::cin>>mark>>t1>>t2>>t3>>t4;int total=t1+t2+t3+t4;int total_needed=(60+(mark-2)*10)*5;如果(total_needed-total>100){std::cout很好,stackoverflow不允许在注释中使用多行,我基本上是这样做的:
否则如果(需要的总数-总数<0){std::cout
int main()
{
    int mark;
    int t1, t2, t3, t4;

    std::cin >> mark >> t1 >> t2 >> t3 >> t4;
    int total = t1 + t2 + t3 + t4;
    int total_needed = 5 * (60 + (mark - 2) * 10);
    int diff = total_needed - total;

    if (diff > 100) {
    std::cout << "Impossible" << std::endl;
    } else if (diff <= 0) {
        std::cout << "You have already got enough points" << std::endl;
    } else {
        std::cout << diff << " points needed yet" << std::endl;
    }

    return 0;
}