C/C++编程学习 - 第15周 ⑤ 计分程序

题目链接

题目描述

蒜头君是一位高中电脑老师,这学期正在教学生写 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;
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

水蛙菌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值