语言用switch计算税率,c语言用switch和case做奖金和纳税的代码怎么不对啊?"/>
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做奖金和纳税的代码怎么不对啊?
发布评论