Re: [問題] if用法

看板C_and_CPP作者 (Richard)時間14年前 (2011/09/13 20:45), 編輯推噓5(5012)
留言17則, 8人參與, 最新討論串2/2 (看更多)
我有稍微改了一下,不過沒用編譯器去跑 http://codepad.org/f5OtcmoW 兩個地方比較怪的是: 1. 通常我們是會寫(month > 2 && month < 6),而不會寫(month>2 , month<6) 2. else if(month=12 || month>0,month<3) 用=是代表把12指定給month,這裡應該要用 == 來判斷兩個是否相等 所以應該是else if(month == 12 || (month>0 && month<3)) ※ 引述《ha127437 (呈呈)》之銘言: : 開發平台(Platform): (Ex: VC++, GCC, Linux, ...) : c++ : 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) : 問題(Question): : 串寫一個程式,可輸入月份,然後判斷齊所屬的季節(3~5月為春季)(6~8月為夏季 : (9~11月為秋季)(12~2月為冬季)) : 餵入的資料(Input): : /*prog*/ : #include <stdio.h> : #include <stdlib.h> : int main(void) : { : int month; : printf("請輸入月份:"); : scanf("%d",&month); : if(month>2 , month<6) : printf("%d月為春季\n",month); : else if(month>5,month<9) : printf("%d月為夏季\n",month); : else if (month>8,month<12) : printf("%d月為秋季\n",month); : else if(month=12 || month>0,month<3) : printf("%d月為冬季\n",month); : else : printf("輸入錯誤\n"); : system("pause"); : return 0; : } : 預期的正確結果(Expected Output): : 錯誤結果(Wrong Output): : 最後冬季那個結果一直跑錯 : 不知道要怎麼修改 : 程式碼(Code):(請善用置底文網頁, 記得排版) : 補充說明(Supplement): -- 兩袖清風,腦袋空空,無慮也無憂 得之於人者太多,出之於己者太少 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.84.62.14

09/13 20:49, , 1F
if(month==3 || month==4 || month==5) {...}
09/13 20:49, 1F

09/13 20:49, , 2F
else if(month==6 || month==7 || month==8) {...}
09/13 20:49, 2F

09/13 20:50, , 3F
else if(month==9 || month==10 || month==11) {...}
09/13 20:50, 3F

09/13 20:50, , 4F
else if(month==12 || month==1 || month==2) {...}
09/13 20:50, 4F

09/13 20:50, , 5F
else {...}
09/13 20:50, 5F

09/13 20:51, , 6F
我懶得再去把 大於 小於 的東西, 在腦內換算一次了.
09/13 20:51, 6F

09/13 21:01, , 7F
如果要寫成這樣的話我會用 switch-case...
09/13 21:01, 7F

09/13 21:03, , 8F
每個人慣用寫法都不一樣, 接不接受這樣寫法而已.
09/13 21:03, 8F

09/13 21:16, , 9F
我應該是走火入魔了.. http://codepad.org/RiBR4Rz3
09/13 21:16, 9F

09/13 21:22, , 10F
09/13 21:22, 10F

09/13 21:23, , 11F
<3 <3 <3
09/13 21:23, 11F

09/13 21:41, , 12F
一個就夠了... http://codepad.org/9iv9Y48g
09/13 21:41, 12F

09/13 21:54, , 13F
要防呆的話,用一行寫可讀性反而沒那麼好..
09/13 21:54, 13F

09/13 22:18, , 14F
@@ 防呆只是額外的判斷 我只是把輸出變得簡單點...
09/13 22:18, 14F

09/13 22:21, , 15F
嗯嗯,12,1,2是冬季,3,4,5是春季,可能公式換一下好點.
09/13 22:21, 15F

09/14 01:31, , 16F
各位大大謝謝~~程式都超強的...
09/14 01:31, 16F

09/14 20:12, , 17F
firejox XD
09/14 20:12, 17F
文章代碼(AID): #1ERr21ZB (C_and_CPP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
問題
2
12
完整討論串 (本文為第 2 之 2 篇):
問題
2
12
文章代碼(AID): #1ERr21ZB (C_and_CPP)