程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言問答 >> c語言 switch

c語言 switch

編輯:C語言問答

c語言 switch

一個求總運費的程序

#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; 
int s 可以忽略不計 

最佳回答:

switch 是選擇的意思 比如 switch (ch) { case 'a': printf("你輸入的是小寫a\n"); break; case 'A': printf("你輸入的大寫A\n"); break; }
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved