DSTJZ


私信TA

用户名:dotcpp0721777

访问量:9153

签 名:

时间可以解决许多问题

等  级
排  名 48
经  验 12047
参赛次数 13
文章发表 324
年  龄 18
在职情况 学生
学  校 狗熊岭23届毕业生
专  业

  自我简介:

TA的其他文章

解题思路:类似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;
}


 

0.0分

7 人评分

  评论区

为什么1./100不能写成0.1呢
是这样写更好吗,,新手提问
2024-10-26 17:21:53
  • «
  • 1
  • »