|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 Harrylby 于 2020-5-15 16:09 编辑
题目如下:(题目所给条件与事实不符,只为练习)。
当每月工资S低于或等于3000元,征税5%;当每月工资高于3000元,低于5000元(3000<=S<5000),征税10%;
当每月工资高于5000元,低于10000元(5000=<S<10000),征税15%;
当每月工资高于10000元,征税20%
- #include <stdio.h>
- int main()
- {
- float s, m1,m2,m3,m4;
- m1=s*0.5;
- m2=s*0.15;
- m3=s*0.1;
- m4=s*0.01;
- scanf("%f",&s);
- printf("缴纳税金:");
- if(s>=10000)
- printf("%4.2f\n",m1);
- else
- if(s>=5000&&s<10000)
- printf("%4.2f\n",m2);
- else
- if(s>=3000&&s<5000)
- printf("%4.2f\n",m3);
- else
- printf("%4.2f\n",m4);
- return 0;
- }
复制代码 我编完后,发现输出的结果如下
6000
缴纳税金:4199248-16106126.00
Press any key to continue
这是为什么呢,是逻辑出问题了吗?
另外如果想在执行时出现“月工资:”字样,然后再输入月工资数,应该怎么办呢?
效果即
月工资: 6000 //然后输入6000
缴纳税金:4199248-16106126.00 //然后得出结论
Press any key to continue
- scanf("'月工资:'%f",&s);
- printf("缴纳税金:%d");
复制代码 这样写还是不行
感谢大佬解答!!
哎哟,我去。。。。
你的这缴纳税金与输入的值没有任何关系啊。。。。
你是先计算的税金,然后输入的s值。
计算税金的时候,s没有初始化,所以 s 值是不确定的。
- #include <stdio.h>
- int main()
- {
- float s, m1,m2,m3,m4;
- scanf("%f",&s);//应该先输入s值,再进行计算!
- m1=s*0.5;
- m2=s*0.15;
- m3=s*0.1;
- m4=s*0.01;
- printf("缴纳税金:");
- if(s>=10000)
- printf("%4.2f\n",m1);
- else if(s>=5000&&s<10000)
- printf("%4.2f\n",m2);
- else if(s>=3000&&s<5000)
- printf("%4.2f\n",m3);
- else
- printf("%4.2f\n",m4);
- return 0;
- }
复制代码
|
|