[問題] 尋找 perfect number 程式碼的結構化

看板C_and_CPP (C/C++)作者 (Albert Pujols)時間13年前 (2012/11/25 03:29), 編輯推噓1(104)
留言5則, 4人參與, 最新討論串1/1
稍微提一下這個 code 應該比較好解釋我的問題 目前在寫一個找出完全數 (perfect number) 的 code 因為要求這個程式的課主要是上關於 programming style 的東西 所以會要求要結構化、模組化.etc 上次交去,被打槍說輸入範圍時鍵入非數字會爆炸 目前想到的方法是用 ASCII 去限制,也就是用 if 的條件判斷去 check 所以我就用上了 while(1) ,當輸入條件符合時就 break 可是結構化的其中一個重點就是不能使用continue、break 這種非 single exit 的指令 但是無限迴圈不用 break 的話就出不去了 有其他方案嗎? 順便問一下,呼叫 main 函數這個行為是ok的嗎? 總感覺怪怪的.. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.46.129.105

11/25 03:37, , 1F
標題已修改
11/25 03:37, 1F

11/25 03:49, , 2F
如果迴圈只有可能從一個地方出去,不算 single exit 嗎?
11/25 03:49, 2F

11/25 03:51, , 3F
如果你要從 while 判斷式出去的話可以用個 flag 來記。
11/25 03:51, 3F
所以...一定要把while(1)改掉就是了

11/25 03:52, , 4F
說不定只是想看到 while(scanf(...)),while(cin>>) 而已
11/25 03:52, 4F
忘了說這是C

11/25 08:31, , 5F
while(scanf("%s",str)){ if(isNum(str)){...} }
11/25 08:31, 5F
感謝L大,用了兩個 loop 和 flag 把 min 和 max 搞定了 現在只剩一些邏輯問題orz ※ 編輯: ap1578 來自: 1.168.65.245 (11/25 16:59)
文章代碼(AID): #1GiI0Xqb (C_and_CPP)
文章代碼(AID): #1GiI0Xqb (C_and_CPP)