Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Io Fortran在两行而不是一行上的输出_Io_Fortran - Fatal编程技术网

Io Fortran在两行而不是一行上的输出

Io Fortran在两行而不是一行上的输出,io,fortran,Io,Fortran,我正在运行一个fortran 90程序,它有一个I=1到40的alpha值数组。我尝试使用以下代码将数组输出为5行8行: write(4,*) "alpha " write(4,*)alpha(1), alpha(2), alpha(3), alpha(4), alpha(5), alpha(6), alpha(7), alpha(8) write(4,*)alpha(9), alpha(10), alpha(11), alpha(12), alpha(13), alpha(14), alpha

我正在运行一个fortran 90程序,它有一个I=1到40的alpha值数组。我尝试使用以下代码将数组输出为5行8行:

write(4,*) "alpha "
write(4,*)alpha(1), alpha(2), alpha(3), alpha(4), alpha(5), alpha(6), alpha(7), alpha(8)
write(4,*)alpha(9), alpha(10), alpha(11), alpha(12), alpha(13), alpha(14), alpha(15), alpha(16) 
write(4,*)alpha(17), alpha(18), alpha(19), alpha(20), alpha(21), alpha(22), alpha(23), alpha(24)
write(4,*)alpha(25), alpha(26), alpha(27), alpha(28), alpha(29), alpha(30), alpha(31), alpha(32)
write(4,*)alpha(33), alpha(34), alpha(35), alpha(36), alpha(37), alpha(38), alpha(39), alpha(40)
其中4是所需的输出文件。但是当我打开输出时,有10行,而不是5行,每个行有5个值,然后3个值交替。你知道我能做些什么来避免这种情况吗


谢谢。

使用格式化IO。列表定向IO(即带“*”)设计简单,但未完全指定。不同的编译器将产生不同的输出。尝试以下方法:

write (4, '( 8(2X, ES14.6) )' )  alpha (1:8)
或者使用循环:

do i=1, 33, 8
   write (4, '( 8(2X, ES14.6) )' )  alpha (i:i+7)
end do
写(4,“(8(1x,f0.4)))字母

在5行上打印40个数字,因为在Fortran“格式反转”中,当到达格式末尾时,格式会被重新使用,并在新行上打印更多数据

网站上说的是关于格式恢复:

“如果数据传输列表中的项目少于数据描述符,则所有未使用的描述符都将被忽略。”。但是,如果数据传输列表中的项目多于数据描述符,则会发生强制恢复。在这种情况下,FORTRAN 77将前进到下一条记录并重新扫描格式,从最右的左括号开始,包括任何重复计数指示符。然后它重新使用格式的这一部分。如果FORMAT语句中没有内括号,则重复使用整个格式。”