解题思路:
每个阶段都用数组保存,最后超过100万和不超过10万的都不保存(因为n是不确定的),这样看起来就不需要太复杂的输入了。
注意事项:
参考代码:
#include<iostream>
#include<algorithm>
#include<string.h>
#include<math.h>
using namespace std;
int main()
{
int i,j,n,sum=0;
int a[100]={100000*0.1,100000*0.075,200000*0.05,200000*0.03,400000*0.015};
cin>>n; // 0 1 2 3 4
if(n>=0 && n<=100000) sum=n*0.1;
else if(n>100000 && n<=200000) sum=a[0]+(n-100000)*0.075;
else if(n>200000 && n<=400000) sum=a[0]+a[1]+(n-200000)*0.05;
else if(n>400000 && n<=600000) sum=a[0]+a[1]+a[2]+(n-400000)*0.03;
else
sum=(n-1000000)*0.01+a[0]+a[1]+a[2]+a[3]+a[4];
cout<<sum<<endl;
return 0;
}
0.0分
5 人评分
#include<iostream> using namespace std; int main() { int l; cin>>l; if(l<=100000)cout<<l*0.1<<endl; else if(l>100000&&l<=200000)cout<<100000*0.1+(l-100000)*0.075<<endl; else if(l>200000&&l<=400000)cout<<100000*0.1+100000*0.075+(l-200000)*0.05<<endl; else if(l>400000&&l<=600000)cout<<100000*0.1+100000*0.075+200000*0.05+(l-400000)*0.03<<endl; else if(l>600000&&l<=1000000)cout<<100000*0.1+100000*0.075+200000*0.05+200000*0.03+(l-600000)*0.015<<endl; else if(l>1000000)cout<<100000*0.1+100000*0.075+200000*0.05+200000*0.03+400000*0.015+(l-1000000)*0.01<<endl; return 0; }