[問題] switch問題
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
DEV C++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
無
問題(Question):
switch的使用
預期的正確結果(Expected Output):
在輸入的範圍內應得到下列結果:
n<5.0 : no damage
5.0<=n<5.5 :some damage
5.5<=n<6.5 : heavy damage
6.5<=n<7.5 : disaster
7.5<n heavy : disaster
錯誤結果(Wrong Output):
第一個程式碼:只有最後的default有結果顯示
第二個程式碼:expected primary-expression before "int"
程式碼(Code):(請善用置底文網頁, 記得排版)
(第一個程式碼)
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int n;
printf("please input earthquake size: ");
scanf("%d" , &n);
switch(n){
case 'n<5.0':
n<5;
printf("no damage\n");
break;
case '5.0<=n<5.5':
n<5.5;
printf("some damage\n");
break;
case '5.5<=n<6.5':
n<6.5;
printf("heavy damage\n");
break;
case '6.5<=n<7.5':
n<7.5;
printf("disaster\n");
break;
default:
printf("heavy disaster");
}
printf("\nearthquake size level is %d\n" , n);
system("PAUSE");
return EXIT_SUCCESS;
}
(第二個程式碼)
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char n;
int "a";
int "b";
int "c";
int "d";
int "e";
if(n<5)
n=a;
else if(5<=n<5.5)
n=b;
else if(5.5<=n<6.5)
n=c;
else if(6.5<=n<7.5)
n=d;
else if(7.5<n)
n=e;
printf("please input earthquake size: ");
scanf("%d" , &n);
switch(n){
case 'a':
printf("no damage\n");
break;
case 'b':
printf("some damage\n");
break;
case 'c':
printf("heavy damage\n");
break;
case 'd':
printf("disaster\n");
break;
default:
printf("heavy disaster");
break;
}
printf("\n earthquake size level is %d\n" , n);
system("PAUSE");
return EXIT_SUCCESS;
}
補充說明(Supplement):
小弟是初學者,這是書上指定說能用switch最好(東華出版的C語言詳論),
有和同學討論說覺得應該用if比較好做,但怕老師說沒有照書上要求被打回票,
所以到板上來向板友請教,請板友不吝指教,有任何需要新增或改法均請板有賜教。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.66.50.41
→
04/03 10:07, , 1F
04/03 10:07, 1F
→
04/03 10:08, , 2F
04/03 10:08, 2F
有假設n<5.0時n=a
→
04/03 10:20, , 3F
04/03 10:20, 3F
→
04/03 10:21, , 4F
04/03 10:21, 4F
我也想說要用if作但書上有先說要用switch...
還是就直接用if做不要理書本了XD
→
04/03 10:24, , 5F
04/03 10:24, 5F
這是我自己打的,不是書本的,書本哪有那麼好心習題還附解答
→
04/03 10:25, , 6F
04/03 10:25, 6F
的確是不太會用,不過老師有說要用switch,所以就打出這種程式碼...
stupid0319你能給我一些指教嗎?
※ 編輯: peterkot 來自: 210.66.50.41 (04/03 10:32)
→
04/03 10:38, , 7F
04/03 10:38, 7F
→
04/03 10:41, , 8F
04/03 10:41, 8F
有這麼簡單就好了...,我要用管道跟書商拿參考解答來看好了...
※ 編輯: peterkot 來自: 210.66.50.41 (04/03 10:53)
推
04/03 10:53, , 9F
04/03 10:53, 9F
→
04/03 10:54, , 10F
04/03 10:54, 10F
推
04/03 11:05, , 11F
04/03 11:05, 11F
→
04/03 11:37, , 12F
04/03 11:37, 12F
→
04/03 12:00, , 13F
04/03 12:00, 13F
→
04/03 13:36, , 14F
04/03 13:36, 14F
推
04/03 13:42, , 15F
04/03 13:42, 15F
→
04/03 13:43, , 16F
04/03 13:43, 16F
→
04/03 15:04, , 17F
04/03 15:04, 17F
→
04/03 15:05, , 18F
04/03 15:05, 18F
→
04/03 15:16, , 19F
04/03 15:16, 19F
→
04/03 15:17, , 20F
04/03 15:17, 20F
推
04/03 15:39, , 21F
04/03 15:39, 21F
→
04/03 15:40, , 22F
04/03 15:40, 22F
→
04/03 16:14, , 23F
04/03 16:14, 23F
→
04/03 16:26, , 24F
04/03 16:26, 24F
討論串 (同標題文章)