看板 Fortran 關於我們 聯絡資訊
最近剛開始寫程式 很多地方不是很懂 請高手幫我看看.. 輸入一複數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
farewell2400:z好像沒在程式中執行耶!? 04/15 02:00
少打一行 複數那邊不太懂樣怎用 ※ 編輯: buleboll 來自: 111.254.211.64 (04/15 02:06)
gdi2000520:1.if (a .eq. 0) then是0不是"O" 04/15 09:30
gdi2000520:2. pi沒有指定數值為何 04/15 09:32
gdi2000520:3.邏輯有誤 atan出來是徑度 w=x*180/pi才能轉換成角度 04/15 09:48
gdi2000520:4.IF...ENDIF 刪除 只留下x=atan(b/a)就可以勒 04/15 09:50
skyrjs:樓上高手XD 應該是錯這些 不過原PO記得用"Z"喔 04/15 19:33
buleboll:恩 感謝!! 04/15 20:06