题目描述
蒜头君是一位高中电脑老师,这学期正在教学生写 C++ 程序。他的评分标准是依照每一位学生在蒜厂 OJ 上解出的题数,去计算出对应的得分。为了不让分数落差太大,因此他并不是采取每一题固定得分的方式,而是随着题数增加而调整每题的得分。规则如下:
答对题数在 0 ~ 10 者,每题给 6 分。题数在 11 ~ 20 者,从第 11 题开始,每题给 2 分。(前 10 题还是每题给 6 分)题数在 21 ~ 40 者,从第 21 题开始,每题给 1 分。题数在 40 以上者,一律 100 分。如此一来,只要写 10 题,就可以得到 60 分,写 20 题,就可以得到 80 分,不过要得到满分 100 分,则是要写到 40 题,所以同学们分数的差距就大大地减少了。
不过问题来了,虽然学生们因为这样的计分程序而大大地提升了及格率,但因为蒜头君有 600 多位学生,一个一个去计算真的是一件很吃重的工作,所以现在想请你帮他写个程序解决这个问题。
输入格式
一个测试点包含多组测试数据,一共不超过 10 组。
每组测试数据只有一个整数 N(0≤N≤100),代表学生在蒜厂 OJ 上解出的题数。
输出格式
输出该位同学的得分。
Sample Input
10
40
Sample Output
60
100
思路
相当于是一个分段函数,根据分段函数计算成绩,只需要写 if 判断就行了。
C++代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
while(cin >> n)
{
if(n <= 10) cout << n * 6 << endl;
else if(n > 10 && n <= 20) cout << 60 + (n - 10) * 2 << endl;
else if(n > 20 && n <= 40) cout << 80 + (n - 20) * 1 << endl;
else if(n > 40) cout << "100" << endl;
}
return 0;
}