解题思路:
那位大佬能帮我看一下哪里错了吗,为啥我在devc++上可以运行,答案还对了,然后复制来这就不对了,想哭了!
注意事项:

参考代码:

#include<stdio.h>

int main()

{

int a,b;

scanf("%d",&a);

if(a<=100000)

b=a*0.1;

else if(a<=200000)

b=10000+(a-100000)*0.075;

else if(a<=400000)

b=100000*0.175+(b-200000)*0.005;

else if(a<=600000)

b=100000*0.175+200000*0.005+(a-400000)*0.003;

else if(a<=1000000)

b=100000*0.175+200000*0.005+400000*0.003+(a-600000)*0.0015;

else if(a>1000000)

b=100000*0.175+200000*0.005+200000*0.003+400000*0.0015+(a-1000000)*0.001;

printf("%d",b);  

return 0;

}




点赞(0)
 

0.0分

0 人评分

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

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

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

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

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

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

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

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

评论列表 共有 1 条评论

蓝精灵a 2年前 回复TA
else if(a<=400000) b=100000*0.175+(b-200000)*0.005; 这一句,后面b应该改成a吧?
还有下面5%,应该写*0.05吧?你写的*0.005;再下面3%,1.5%,1%也都不对;
else if(a<=1000000) b=100000*0.175+200000*0.005+400000*0.003+(a-600000)*0.0015;这一句,400000是不是应该改成200000呢?
可能还有别的我不太确定的错误,比如你用int整数计算,而计算过程中有小数的乘法,虽然题目说了输出的是整数,但是运算过程中不一定都是整数,所以这不一定对吧?我还是建议用double浮点数,更稳妥一点。