[問題] 程式問題

看板Fortran作者 (本翰)時間14年前 (2010/04/15 00:02), 編輯推噓0(007)
留言7則, 4人參與, 最新討論串1/2 (看更多)
最近剛開始寫程式 很多地方不是很懂 請高手幫我看看.. 輸入一複數z=a+bi 若a等0 則幅角視為0 輸出z絕對值 跟幅角arctan(b/a) complex z real a, b, x, y, pi, w write(*,*) 'enter two real a,b ' read(*,*) a,b if (a .eq. o) then x=0 else x=atan(b/a) end if z=cmplx(a,b) w=x*pi/180 y=sqrt(a**2+b**2) write(*,*)'輸入之複數為',z write(*,*)'複數絕對值= ' , y write(*,*)'幅角 arctan(b/a)= ' ,w end 程式可以跑 但是 幅角( ex 輸入0 5 ) 跟複數那邊出來的答案怪怪的 我看很久都看不出為什麼.. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.117.118.244

04/15 02:00, , 1F
z好像沒在程式中執行耶!?
04/15 02:00, 1F
少打一行 複數那邊不太懂樣怎用 ※ 編輯: buleboll 來自: 111.254.211.64 (04/15 02:06)

04/15 09:30, , 2F
1.if (a .eq. 0) then是0不是"O"
04/15 09:30, 2F

04/15 09:32, , 3F
2. pi沒有指定數值為何
04/15 09:32, 3F

04/15 09:48, , 4F
3.邏輯有誤 atan出來是徑度 w=x*180/pi才能轉換成角度
04/15 09:48, 4F

04/15 09:50, , 5F
4.IF...ENDIF 刪除 只留下x=atan(b/a)就可以勒
04/15 09:50, 5F

04/15 19:33, , 6F
樓上高手XD 應該是錯這些 不過原PO記得用"Z"喔
04/15 19:33, 6F

04/15 20:06, , 7F
恩 感謝!!
04/15 20:06, 7F
文章代碼(AID): #1BnUS5-q (Fortran)
討論串 (同標題文章)
文章代碼(AID): #1BnUS5-q (Fortran)