作者magaiml (祈)
看板Fortran
标题Re: [问题] 我写一个判断象限的流程,但不知问题在 …
时间Wed Aug 26 21:40:17 2009
建议你 同条件的可以拉出来就拉出来
这样省事多了
第一段
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