输出结果不正确不知道为什么以及怎么在执行中写出汉字?
本帖最后由 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");这样写还是不行
感谢大佬解答!!
哈哈
本帖最后由 焦健鬼 于 2020-5-15 16:20 编辑{:10_277:} 焦健鬼 发表于 2020-5-15 16:17
疑惑的打出很多问号{:9_241:} Harrylby 发表于 2020-5-15 17:00
疑惑的打出很多问号
嘻嘻 printf("月工资: ");
scanf("%f",&s);
printf("\n");
printf("缴纳税金:%d");
另外你把m的那些变量初始化0.0试一下 你是不是把 C 语言和 python 搞混了? python 中的输入函数 input 可以给出提示语。
而 C语言的输入函数 scanf 括号内只能由格式化操作符和变量地址,不能有其他内容作为提示语,提示语需要在 scanf 之前用 printf 给出。
printf("月工资: ");
scanf("%f",&s);
printf("缴纳税金:%d");
sunrise085 发表于 2020-5-15 17:50
你是不是把 C 语言和 python 搞混了? python 中的输入函数 input 可以给出提示语。
而 C语言的输入函数 s ...
我的确把 C 语言和 python 搞混了,我居然点进来了{:10_256:} sunrise085 发表于 2020-5-15 17:50
你是不是把 C 语言和 python 搞混了? python 中的输入函数 input 可以给出提示语。
而 C语言的输入函数 s ...
噢,太感谢了,那能再请问一下,为什么输出会是这样吗?
月工资: 5000
缴纳税金:-16106126
Press any key to continue Harrylby 发表于 2020-5-15 21:33
噢,太感谢了,那能再请问一下,为什么输出会是这样吗?
月工资: 5000
缴纳税金:-16106126
哎哟,我去。。。。
你的这缴纳税金与输入的值没有任何关系啊。。。。
你是先计算的税金,然后输入的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;
} 诡秘之旅 发表于 2020-5-15 17:31
printf("月工资: ");
scanf("%f",&s);
printf("\n");
非常感谢{:5_110:}
页:
[1]