24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2184  |  回复: 5

exabyss916

新虫 (小有名气)

[求助] ifort和gfortran无格式输出的区别

比如有一个长度为20的数组A(20),用无格式输出:

write(10,*)A

gfortran编译的结果正确显示,A(1),A(2),...,A(20)都输出到一行。

ifort编译的结果却分行显示了,每行只有3个数,如何让输出结果只有一行?
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖


余泽成(金币+1): 谢谢参与应助! 2011-11-19 14:30:48
exabyss916(金币+2): 2011-11-23 09:13:44
那你就用格式化方式输出就是了……
2楼2011-11-19 10:56:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

锐利的碎片

木虫 (正式写手)

star watcher

【答案】应助回帖


xzhdty(金币+1): 欢迎常来程序语言看看 2011-11-19 12:38:07
exabyss916(金币+2): 2011-11-23 09:13:12
do i=1,20
    write(*,'(G18.10)',advance='no') A(i)
end do
或者
write(*,'(20G18.10)') A
无格式输出的结果不同编译器都不一样,所以输出时应该明确给出格式。
3楼2011-11-19 11:02:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

magang26

金虫 (小有名气)

【答案】应助回帖

exabyss916(金币+1): 2011-11-30 15:11:53
统一楼上的,格式化输出。
write(*,"(20F12.3)" (A(i),i=1,20)

不明白楼上的G是什么意思?有这个类型?
成长吧
4楼2011-11-30 12:22:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

magang26

金虫 (小有名气)

【答案】应助回帖


jjdg(金币+1): 感谢参与 2011-11-30 16:09:15
统一楼上的,格式化输出。
write(*,"(20F12.3)" (A(i),i=1,20)

不明白楼上的G是什么意思?有这个类型?
成长吧
5楼2011-11-30 12:23:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖

★ ★
jjdg(金币+1): 感谢参与 2011-11-30 16:09:03
余泽成(金币+1): 谢谢参与应助! 2011-12-02 17:23:36
引用回帖:
5楼: Originally posted by magang26 at 2011-11-30 12:23:26:
统一楼上的,格式化输出。
write(*,"(20F12.3)" (A(i),i=1,20)

不明白楼上的G是什么意思?有这个类型?

Fortran 77 标准中有这个类型,不过不常用,呵呵……

[qutoe]
13.5.9.2.3 G Editing.
The Gw.d and Gw.dEe edit descriptors indicate that the external field occupies w positions, the fractional part of which consists of d digits, unless a scale factor greater than one is in effect, and the exponent part consists of e digits.

G input editing is the same as for F editing ( 13.5.9.2.1).

The method of representation in the output field depends on the magnitude of the datum being edited. Let N be the magnitude of the internal datum. If N < 0.1 or N >= 10**d,Gw.d output editing is the same as kPEw.d output editing and Gw.dEe output editing is the same as kPEw.dEe output editing, where k is the scale factor currently in effect. If N is greater than or equal to 0.1 and is less than 10**d , the scale factor has no effect, and the value of N determines the editing as follows:

________________________________________________
     |                       |                       |
     |_Magnitude_of_Datum____|__Equivalent_Conversion|
     |                       |                       |
     | 0.1=N<=1              |  F(w-n).d, n('b')     |
     |                       |                       |
     | 1<=N<10               |  F(w-n).(d-1), n('b') |
     |                       |                       |
     |   .                   |        .              |
     |   .                   |        .              |
     |   .                   |        .              |
     | 10**(d-2)<=N<10**(d-1)|  F(w-n).1, n('b')     |
     |                       |                       |
     | 10**(d-1)<=N<10**d    |  F(w-n).0, n('b')     |
     |                       |                       |
     |_______________________|_______________________|

    where: b is a blank

    n is 4 for Gw.d and e+2 for Gw.dEe

Note that the scale factor has no effect unless the magnitude of the datum to be edited is outside of the range that permits effective use of F editing. [/quote]
6楼2011-11-30 13:43:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 exabyss916 的主题更新
信息提示
请填处理意见