[問題] 一個簡單的迴圈已回收

看板MATLAB作者 (★╰喜憨╮☆)時間16年前 (2009/11/19 00:28), 編輯推噓2(202)
留言4則, 3人參與, 最新討論串1/1
我是初學者,我想了好久還是不知道為什麼, 所以想來請教板上大大,以下是程式碼: x=0; while (x==0); c=input('攝氏轉華氏請選 1,華氏轉攝氏請選 2:'); if (c~=1)&(c~=2) fprintf('\n都叫你選1、2了還亂選!你是白痴嗎?\n') x=0; else x=1; end end while (c==1); a=input('請輸入華氏溫度 = '); b=5/9*(a-32); fprintf('攝氏溫度 = %5.2f\n',b) c=input('再做一次請選 1 (攝->華)、2(華->攝),亂打則離開:'); end while (c==2); a=input('請輸入攝氏溫度 = '); b=9/5*a+32; fprintf('華氏溫度 = %5.2f\n',b) c=input('再做一次請選 1 (攝->華)、2(華->攝),亂打則離開:'); end 內容是我想做華攝式轉換,但不想算完一次就要重新讀取M檔, 因此在後面寫一個判斷c的指令讓它再做一次, 但做完 1 ,想跳至 2 時可以繼續執行, 而做完 2 ,想回去 1 時就直接結束了。 請問我究竟錯在哪呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.115.78.36

11/19 00:40, , 1F
把while c == 1, while c == 2都改成if
11/19 00:40, 1F

11/19 00:41, , 2F
然後在這2個if外再加1層while c == 1 || c == 2看看
11/19 00:41, 2F

11/19 00:45, , 3F
成功了!謝謝你!
11/19 00:45, 3F

11/19 22:01, , 4F
理由在於做完2之後 沒有任何指令讓它再回到前面
11/19 22:01, 4F
文章代碼(AID): #1B122UOZ (MATLAB)