❶ 簡單的C語言編程問題
switch是可以用的。一直用switch括弧裡面寫上你的條件一直用CASE 1和IF沒什麼區別。還麻煩很多,這個就用IF做就很好了,之所以出現這種情況是因為你把2個整數相除之後的值給了rate有2種方法可以解決。,第一種比如rate=3/100直接寫成0.03.第二種用強制轉換rate=(double)3/100。程序我改了下。你可以看下。
#include<stdio.h>
int main()
{
double tax,salary,dection,rate;
scanf("%lf",&salary);
if(salary<=3500)
{
rate=0;
dection=0;
}
else if(salary<=5000&&salary>3500)
{
rate=0.03;
dection=0;
}
else if(salary<=8000&&salary>5000)
{
rate=0.10;
dection=105;
}
else if(salary<=12500&&salary>8000)
{
rate=0.20;
dection=555;
}
else if(salary<=38500&&salary>12500)
{
rate=0.25;
dection=1005;
}
else if(salary<=58500&&salary>38500)
{
rate=(double)30/100;
dection=2755;
}
else if(salary<=83500&&salary>58500)
{
rate=(double)35/100;
dection=5505;
}
else if(salary<=83500)
{
rate=(double)45/100;
dection=13505;
}
tax=rate*(salary - 3500)- dection;
printf("%.2f\n",tax);
return 0;
}
希望可以幫到你,望採納。謝謝啦~~