Re: [問題] 我寫一個判斷象限的流程,但不知問題在 …

看板Fortran作者 (祈)時間15年前 (2009/08/26 21:40), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/4 (看更多)
建議你 同條件的可以拉出來就拉出來 這樣省事多了 第一段 if(x.gt.0)then if(y.gt.0)ans=1 if(y.lt.0)ans=4 else if(x.lt.0)then if(y.gt.0)ans=2 if(y.lt.0)ans=3 else ans=0 end if 第二段 可以用格式來寫 更簡單 if(ans.ne.0)then write(*,100)ans 100 format('第',i1,'象限') else write(*,*)'落在軸上' end if 純寫作分享 個人寫法 可以參考看看這樣寫比較簡單而且明瞭 ※ 引述《libra1005 (怕,你就輸一半!)》之銘言: : 小弟最近在學FORTRAN,今天寫了一個輸入座標然後判斷是第幾象限的程式 : 但卻跑不出來,請問板上高手解惑,告知哪裡錯誤@@ : 小弟看了很久還是不知道哪錯了,麻煩了,謝謝~ : 以下是我寫的程式碼 : --------------------分隔線---------------------------------------------------- : program ex0508 : implicit none : real x,y,ans : write(*,*)"Input(x,y)" : read(*,*)x,y : if(X>0.and,y>0)then : ans=1 : else if(X>0.and,y<0)then : ans=4 : else if(X<0.and,y>0)then : ans=2 : else if(x=0.or.y=0)then : ans=0 : else if(X<0.and,y<0)then : ans=3 : end if : if(ans/=0.and.ans=1)then : write(*,*)"第一象限"ans : else if(ans/=0.and.ans=2)then : write(*,*)"第二象限"ans : else if(ans/=0.and.ans=3)then : write(*,*)"第三象限"ans : else if(ans/=0.and.ans=4)then : write(*,*)"第四象限"ans : else if(ans=0)then : write(*,*)"落在軸上"ans : end if : stop : end -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.222.244
文章代碼(AID): #1AbJj5xd (Fortran)
文章代碼(AID): #1AbJj5xd (Fortran)