友友们这个是选择结构的,我写了但是不对,可以帮我看怎么写嘛?
#include <stdio.h>
int main ()
{
float s,pay,tax;
scanf("%1f",&s);
if(s<0){ printf("error");
}else{ if(s-5000>80000){
tax=(s-5000)*0.45-15160;
}else if(s-5000>55000 && s-5000<=80000){
tax=(s-5000)*0.35-7160;
}else if(s-5000>35000 && s-5000<=55000){
tax=(s-5000)*0.30-4410;
}else if(s-5000>25000 && s-5000<=35000){
tax=(s-5000)*0.25-2660;
}else if(s-5000>12000 && s-5000<=25000){
tax=(s-5000)*0.20-1410;
}else if(s-5000>3000 && s-5000<=12000){
tax=(s-5000)*0.10-210;
}else if(s-5000<=3000 && s-5000>0){
tax=(s-5000)*0.03;
}else if(s<=5000){
tax=0;
}
pay=s-tax;
printf("tax:%.21f,pay:%.21f\n",tax,pay);
}
return 0;
}
题目要求是什么?
编译报错吗?
程序稍微改了一下,保证都是float类型
#include <stdio.h>
int main ()
{
float s,pay,tax;
scanf("%f",&s);
if(s<0)
{
printf("error");
}
else
{
if(s-5000>80000)
{
tax=(s-5000)*0.45-15160;
}
else if(s-5000>55000 && s-5000<=80000)
{
tax=(s-5000)*0.35-7160;
}else if(s-5000>35000 && s-5000<=55000)
{
tax=(s-5000)*0.30-4410;
}else if(s-5000>25000 && s-5000<=35000)
{
tax=(s-5000)*0.25-2660;
}else if(s-5000>12000 && s-5000<=25000)
{
tax=(s-5000)*0.20-1410;
}else if(s-5000>3000 && s-5000<=12000)
{
tax=(s-5000)*0.10-210;
}else if(s-5000<=3000 && s-5000>0)
{
tax=(s-5000)*0.03;
}else if(s<=5000)
{
tax=0;
}
pay=s-tax;
printf("tax:%.21f,pay:%.21f\n",tax,pay);
}
return 0;
}