回 帖 发 新 帖 刷新版面

主题:输出结果有误,谁能帮忙解释一下?

real X(0:9)
    x(0)=-1.0
    h=0.1
    do 10 i=0,9
      x(i)=x(0)+i*h
      write(*,*)X(i)
10    continue
      end
为会么最后输出的X(9)不是-0.1?

回复列表 (共5个回复)

沙发


[em15], 你不觉得x(0)被你的循环篡改了吗?

板凳

可能是小数位数的问题,没问题的,
-1.000000
 -0.9000000
 -0.8000000
 -0.7000000
 -0.6000000
 -0.5000000
 -0.4000000
 -0.3000000
 -0.2000000
 -9.9999987E-02
Press any key to continue

3 楼

嗯, 是我算错了第一步, 有点先入为主了.

4 楼


能不能改一改设置,让它显示-0.1?谢谢!

5 楼

最后几行改下,改为带格式输出      
     write(*,1)X(i)
  10  continue
  1   format(f5.1)
      end
 -1.0
 -0.9
 -0.8
 -0.7
 -0.6
 -0.5
 -0.4
 -0.3
 -0.2
 -0.1
Press any key to continue

我来回复

您尚未登录,请登录后再回复。点此登录或注册