作者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