回 帖 发 新 帖 刷新版面

主题:fortran 90 菜鸟求救! 菜鸟求救!

程序如下:
    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 楼

我用ivf弱弱地试了一下, 结果正常.
D:\>ifort c.f90
-out:c.exe
-subsystem:console
c.obj

D:\>c
300.110

12 楼

我用gfortran弱弱地试了一下, 结果正常.
D:\>gfortran c.f90
D:\>a
300.110

13 楼

楼上三位都是弱弱的~~~

14 楼

相传曾经我有一朋友也遇到过类似的问题,最后发现就是屏幕调分辨率后跑偏了~~~~结果最左侧正好少了一两个字符。。。

15 楼

你朋友是用crt吗? 然后已经严重老化变型了?

16 楼

呵呵,是CRT~~~~但那是比较久远的事儿了:)

17 楼

[quote]输出理应是300.110。你截个图啥的?是不是在屏幕边儿上,输出了但你没看见啊?[/quote]
今天我查了相关书籍,结果发现是最后输出格式的原因。100 format(f7,3)
其中100 format(1x,f7,3)此时输出正确为300.110。原因是前面的1x用于纵向走纸控制。没有1x的话第一个3将会被空格冲掉。成为00.110
所以就是这样的,还是非常感谢你的耐心帮助。谢谢。

我来回复

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