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