问题标题: 酷町堂:1753 个人所得税

1
0
已解决
童梦圆
童梦圆
资深守护
资深守护

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int a;
    double t;
    scanf("%d",&a);
    if(a<=3500)
    t=0.00;
    else if(a<=5000&&a>3500)
         t=(a-3500)*0.03;
         else if(a<=8000&&a>5000)
               t=(5000-3500)*0.03+(a-5000)*0.1;
               else  if(a<=12500&&a>8000)
                       t=(5000-3500)*0.03+(8000-5000)*0.1+(a-8000)*0.2;
                       else if(a<=38500&&a>12500)
                            t=(5000-3500)*0.03+(8000-5000)*0.1+(12500-8000)*0.2+(a-12500)*0.25;
                            else if(a<=58500&&a>38500)
                                  t=(5000-3500)*0.03+(8000-5000)*0.1+(12500-8000)*0.2+(a-12500)*0.25+(a-38500)*0.3;
                            else if(a<=83500&&a>58500)
                                  t=(5000-3500)*0.03+(8000-5000)*0.1+(12500-8000)*0.2+(38500-12500)*0.25+(58500-38500)*0.3+(a-58500)*0.35;
                              else if(a>=83500) 
                                     t=(5000-3500)*0.03+(8000-5000)*0.1+(12500-8000)*0.2+(38500-12500)*0.25+(58500-38500)*0.3+(83500-58500)*0.35+(a-83500)*0.45;
    printf("%.2f\n",(int)(t*100+0.5)/100.0);
    return 0;   
}

哪里错了?


0
已采纳
桑烁
桑烁
高级光能
高级光能

1.直接printf保留小数

2.a也用double

3.最后一个if是a>83500,没有等于

桑烁在2018-10-06 09:24:54追加了内容

 else if(a<=58500&&a>38500)

判断条件执行的内容错了

a-12500

!!??

桑烁在2018-10-06 09:25:52追加了内容

其他的你可以不按照我这样改,你写的也是对的

把判断执行的命令改了就行了

桑烁在2018-10-06 09:26:28追加了内容

@童梦圆 @童梦圆 @童梦圆 

 

 

 

0
童梦圆
童梦圆
资深守护
资深守护

桑烁,我本来还得了80分,可是按照你的纠正,我却只得了10分!请问,我到底哪里编错了?

0
0
吴文光
吴文光
新手光能
新手光能
我告诉你吧,头文件#include<cstdio>,#include<iostream>加上,一般代码不让用万能头文件,其他没错
//求采纳

 

0
时梓繁
时梓繁
修练者
修练者

if (a<=3500)b=0;

else if (a<=5000)b=(a-3500)*0.03;

else if (a<=8000)b=(5000-3500)*0.03+(a-5000)*0.1;

else if (a<=12500)b=(5000-3500)*0.03+(8000-5000)*0.1+(a-8000)*0.2;

else if (a<=38500)b=(5000-3500)*0.03+(8000-5000)*0.1+(12500-8000)*0.2+(a-12500)*0.25;

else if (a<=58500)b=(5000-3500)*0.03+(8000-5000)*0.1+(12500-8000)*0.2+(38500-12500)*0.25+(a-38500)*0.3;

else if (a<=83500)b=(5000-3500)*0.03+(8000-5000)*0.1+(12500-8000)*0.2+(38500-12500)*0.25+(58500-38500)*0.3+(a-58500)*0.35;

else if (a>83500)b=(5000-3500)*0.03+(8000-5000)*0.1+(12500-8000)*0.2+(38500-12500)*0.25+(58500-38500)*0.3+(83500-58500)*0.35+(a-83500)*0.45;

printf("%.2f",b);

0
童梦圆
童梦圆
资深守护
资深守护

能看看我到底哪里错了吗?谢谢!☺

0
童梦圆
童梦圆
资深守护
资深守护

请问,我到底哪里编错了?

我要回答