主题:输出结果有误,谁能帮忙解释一下?
yunzaishan
[专家分:0] 发布于 2010-05-14 17:13:00
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个回复)
沙发
yeg001 [专家分:14390] 发布于 2010-05-14 19:37:00
[em15], 你不觉得x(0)被你的循环篡改了吗?
板凳
szr1215 [专家分:110] 发布于 2010-05-14 22:46:00
可能是小数位数的问题,没问题的,
-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 楼
yeg001 [专家分:14390] 发布于 2010-05-15 00:38:00
嗯, 是我算错了第一步, 有点先入为主了.
4 楼
yunzaishan [专家分:0] 发布于 2010-05-15 09:41:00
能不能改一改设置,让它显示-0.1?谢谢!
5 楼
szr1215 [专家分:110] 发布于 2010-05-15 15:45:00
最后几行改下,改为带格式输出
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
我来回复