本文主要是介绍c语言用switch计算税率,c语言用switch和case做奖金和纳税的代码怎么不对啊?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
满意答案
aries_dzm
推荐于 2017.11.26
采纳率:57% 等级:9
已帮助:963人
把变量类型改一下,如:
double rate,tax,profit;
后面的输出%d都改成%lf对应double类型。
另,你的case判断有问题,需要调整
以下是调整好的代码
#include
#include
void main()
{
int a;
double rate,tax,profit;
do {
printf("请输入奖金金额:\n");
scanf("%d",&a);
} while (a<0 ) ;
switch(a/500)
{
case 0: //<500
rate=0;tax=a*rate;profit=a-tax;printf("请交纳税金:%lf,税率为:%lf,实得奖金%lf\n",tax,rate,profit);break;
case 1: //>=500
rate=0.05;tax=a*rate,profit=a-tax;printf("请交纳税金:%lf,税率为:%lf,实得奖金%lf\n",tax,rate,profit);break;
case 2: //>=1000
case 3:
rate=0.08;tax=a*rate,profit=a-tax;printf("请交纳税金:%lf,税率为:%lf,实得奖金%lf\n",tax,rate,profit);break;
case 4: //>=2000
case 5:
case 6:
case 7:
case 8:
case 9:
rate=0.10;tax=a*rate,profit=a-tax;printf("请交纳税金:%lf,税率为:%lf,实得奖金%lf\n",tax,rate,profit);break;
default: //>=5000
rate=0.15;tax=a*rate,profit=a-tax;printf("请交纳税金:%lf,税率为:%lf,实得奖金%lf\n",tax,rate,profit);break;
}
}
00分享举报
这篇关于c语言用switch计算税率,c语言用switch和case做奖金和纳税的代码怎么不对啊?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!