解题思路:类似switch的击穿现象

注意事项:注意数据类型的处理

参考代码:

#include<iostream>
using namespace std;

int main()
{
	int arr[5] = {1000000, 600000, 400000, 200000, 100000};
	float comparison[5] = {1. / 100, 1.5 / 100, 3. / 100, 5. / 100, 7.5 / 100};//如果“1. / 100”写成“1 / 100”那么结果就会变成0
	int x;
	cin >> x;

	if(x <= 100000)
	{	cout << 10 * x / 100;
		return 0;
	}
	float res = 10000;
	for(int i = 0; i < 5; i++)
	{	if(x > arr[i])
		{	res += (x - arr[i]) * comparison[i];
			x -= x - arr[i];
		}
	}
	cout << (int)res;
	return 0;
}


点赞(3)
 

0.0分

8 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 2 条评论

DSTJZ 3月前 回复TA
@会编程的渔女 没区别的,我写这篇代码的时候也是刚学
会编程的渔女 3月前 回复TA
为什么1./100不能写成0.1呢
是这样写更好吗,,新手提问