我正在在线挑战 C++,我被困在这部分。
基本上,挑战如下。
“Derp 是一所大学的学生。他最喜欢的课是数学。年底快到了,Derp 会问自己最后一次考试需要多少分才能获得“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
如果您获得 89.8 分,您将获得 4 级,而不是 5 级。我们知道他的前四个测试的结果 - T1、T2、T3、T4。我们必须找出 Derp 在最后一次测试中需要多少最低分才能获得他想要的“K”级。
输入:在输入中,我们首先用 Derp "K" (2<= K <= 5) 输入想要的成绩。在第二行,我们输入他的前四次测试的结果。(0 <= T1,T2,T3,T4 <=100)
输出:我们必须输出 Derp 在最后一次考试中需要获得的最低分数,以便获得他想要的数学成绩“K”。如果 Derp 没有机会获得“K”级,即使他的最后一次测试有最高分,我们必须输出“不可能”。
例子:
输入:5 100 100 100 100
输出:50
输入:5 10 20 30 40
输出:不可能
输入:2 100 100 100 100
输出:0
输入:4 83 74 79 73
输出:91
这是我到目前为止所得到的。
#include <iostream>
using namespace std;
int main()
{
int grade;
cin >> grade;
int t1,t2,t3,t4;
cin >> t1 >> t2 >> t3 >> t4;
if((t1+t2+t3+t4)/4<=59)
{
cout << "Grade: 1\n";
}
else if((t1+t2+t3+t4)/4>=60 && (t1+t2+t3+t4)/4<=69)
{
cout << "Grade: 2\n";
}
else if((t1+t2+t3+t4)/4>=70 && (t1+t2+t3+t4)/4<=79)
{
cout << "Grade: 3\n";
}
else if((t1+t2+t3+t4)/4>=80 && (t1+t2+t3+t4)/4<=89)
{
cout << "Grade: 4\n";
}
else if((t1+t2+t3+t4)/4>=90 && (t1+t2+t3+t4)/4<=100)
{
cout << "Grade: 5\n";
}
int t5;
return 0;
}
我也做了一些数学运算,得出了这个结论。
(100+100+100+100+x)/5>=90
(400+x)/5>=90
80+x/5 >= 90
x/5 >= 10
x >= 50
这基本上是上面的第一个示例输入/输出,以数学方式。我不确定我将如何编码。欢迎任何想法!
谢谢你。