主题:fortran 90 菜鸟求救! 菜鸟求救!
c.fan
[专家分:0] 发布于 2011-05-28 23:23:00
程序如下:
data a,b,c/2*-1.0,1.0/
p=300*C-0.1*A-0.01*B
write(*,100) p
100 format(f7,3)
end
输出结果是00.110 为什么不是300.110 对于这类格式输入输出我表示很头痛,哪位大虾帮帮忙啊!!如果有好的学习文件,还请慷慨解救啊!
E-MAIL ;cfanchenfan@163.com
菜鸟在此谢过啦!!
回复列表 (共17个回复)
11 楼
aliouying [专家分:1150] 发布于 2011-06-01 16:40:00
我用ivf弱弱地试了一下, 结果正常.
D:\>ifort c.f90
-out:c.exe
-subsystem:console
c.obj
D:\>c
300.110
12 楼
aliouying [专家分:1150] 发布于 2011-06-01 16:42:00
我用gfortran弱弱地试了一下, 结果正常.
D:\>gfortran c.f90
D:\>a
300.110
13 楼
cgl_lgs [专家分:21040] 发布于 2011-06-01 16:55:00
楼上三位都是弱弱的~~~
14 楼
cgl_lgs [专家分:21040] 发布于 2011-06-01 16:58:00
相传曾经我有一朋友也遇到过类似的问题,最后发现就是屏幕调分辨率后跑偏了~~~~结果最左侧正好少了一两个字符。。。
15 楼
yeg001 [专家分:14390] 发布于 2011-06-01 22:28:00
你朋友是用crt吗? 然后已经严重老化变型了?
16 楼
cgl_lgs [专家分:21040] 发布于 2011-06-02 10:54:00
呵呵,是CRT~~~~但那是比较久远的事儿了:)
17 楼
c.fan [专家分:0] 发布于 2011-06-03 00:10:00
[quote]输出理应是300.110。你截个图啥的?是不是在屏幕边儿上,输出了但你没看见啊?[/quote]
今天我查了相关书籍,结果发现是最后输出格式的原因。100 format(f7,3)
其中100 format(1x,f7,3)此时输出正确为300.110。原因是前面的1x用于纵向走纸控制。没有1x的话第一个3将会被空格冲掉。成为00.110
所以就是这样的,还是非常感谢你的耐心帮助。谢谢。
我来回复