[問題] 執行M檔案 計算結果多跑出 ans=1已回收

看板MATLAB作者 (鮮採柑橙)時間16年前 (2009/09/25 20:42), 編輯推噓1(103)
留言4則, 2人參與, 最新討論串1/1
不好意思 剛學沒多久 我是看matlab 7 程式設計 洪維恩 著 這本書 裡面一題計算薪資的題目 60小時以內 基本薪資每小時100元計算 61~75小時 基本薪資的1.5倍計算 76個小時以後 基本薪資的2.5倍計算 以下是我寫的程式 function ex8_6(m) if m<=0 | isnumeric(m)==0 | m-fix(m)>0 fprintf('error\n'); else if m<=60 money=100*m; elseif m>60 & m<=75 money=60*100+(m-60)*150; else m>75 money=60*100+15*150+(m-75)*250; end fprintf('money is %d\n',money) end 我測試75以下的數字基本上都沒問題 >> ex8_6(75) money is 8250 但是測試76 就會變成這樣 >> ex8_6(76) ans = 1 money is 8500 中間跑出一個ans = 1 我還是看不出問題是出在哪...= =a 不知道為什麼大於76會多出這個ans=1 ??? 謝謝~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.38.31.192

09/25 20:46, , 1F
" else m>75" --> "elseif m>75"
09/25 20:46, 1F

09/25 20:46, , 2F
else後面不是條件...而是指令...
09/25 20:46, 2F

09/25 20:46, , 3F
所以m>75被執行了...答案是true
09/25 20:46, 3F

09/25 20:48, , 4F
喔喔~了解 謝謝了!
09/25 20:48, 4F
文章代碼(AID): #1AlBgoad (MATLAB)
文章代碼(AID): #1AlBgoad (MATLAB)