一個求總運費的程序
#include <stdio.h> //運輸距離越短 運費(每噸 千米為單位)越低
void main()
{
int s;
double p,d,w,f; //運費/千米=p 距離=s 折扣=d 總運費=f 貨物重量=w
scanf("%lf,%lf,%d",&p,&w,&s); //輸入距離,運費/千米,重量
if (s<250) d=0; //
if (250<=s<500) d=0.02; //
if (500<=s<1000) d=0.05;
if (1000<=s<2000) d=0.08;
if (2000<=s<3000) d=0.10;
if (3000<=s) d=0.15;
f=p*w*s*(1-d);
printf("總運費=%10.2f\n",f);
}
上面的是我自己編寫的
下面的這個是書上的
#include <stdio.h>
void main()
{
int c,s;
double p,w,d,f;
scanf("%lf,%lf,%d",&p,&w,&s);
if (s>=3000) c=12;
else c=s/250;
switch(c)
{
case 0:d=0 break;
case 1:d=2;break;
case 2:
case 3:d=5 break;
case 4:
case 5:
case 6:
case 7:d=8;break;
case 8;
case 9:
case 10:
case 11:d=10:break:
case 12:d=15 break:
}
f=p*w*s*(1-d/100.0);
printf(" 運費:%10.2f\n",f);
這是書上編寫的
請問這兩個程序應該表達意思都是一樣的 為什麼 結果不同?另外switch 大約要怎麼用?
補充:我編的應該 double p,d,w,f,s;