fortran 中用write语句怎么不自动换行

我要在同一行把数组输出来比如56789但是用了语句write(*,"(i4)",advance="no")a以后输出的是每行一个数字,只有在最后一行才没有和下一组数字换行... 我要在同一行把数组输出来
比如 5 6 7 8 9
但是用了语句write(*,"(i4)",advance="no") a
以后输出的是每行一个数字,只有在最后一行才没有和下一组数字换行
怎么办呢? 只在一行输出所有数字!!
直接write还不是一样的

我的是 write(*,‘i2’) a 这样就是一行一个
展开
 我来答
安之若命ant
2015-11-29
知道答主
回答量:31
采纳率:100%
帮助的人:16.1万
展开全部
如何在fortran中读写文件时不换行?这是个极简单又极复杂的问题,简单到只要一个字符,复杂到翻破了好几本语法书也没找见。fortran中默认一条read或者write结束之后就换一行,但是读和写还有些不太一样。
读文件时,read之后如果写了一个数组,就像这样:
read(10,*)Y(1:n)
整整一行数就全都读到数组里了。但是如果用write,写到文件中却不是这个样子,会给你一个超级长的文件然后每行只有一个数。有一个选项叫ADVANCE='YES'/'NO',可以控制输入输出语句完了之后要不要换行,默认是'YES',很不幸,在intel的fortran中这个选项只对read起作用,write依旧不行。
在fortran的输入输出中,"/"表示换行,那么"\"表示什么意思呢,就是“不换行”。这是我在网上逛了老半天才看到的,为了防止忘记,写到博客里面,立此存照。
下面是一段fortran代码样例,要处理的数据20个数就会换一行,一般来讲最后一行是不满20个数的,需要用个同余判断一下
如何在fortran中读写文件时不换行(转)

2010-12-18 10:21:00| 分类: Fortran |举报|字号 订阅
转自ifelseif的博客
ningxingxing
推荐于2018-02-27 · TA获得超过1682个赞
知道小有建树答主
回答量:548
采纳率:100%
帮助的人:533万
展开全部

简单,例如你给的 数组 a=(/ 5,6,7,8,9 /)

write(*,"(5i2)")a

注意那个 5 ,你数组是多少个元素,那里就是多少

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mirguest
2010-05-26 · TA获得超过364个赞
知道小有建树答主
回答量:182
采纳率:0%
帮助的人:311万
展开全部

那你能不能把你的问题再说清楚一点?

我用直接write(*,*)a

输出的结果没有换行。

或许是编译器问题。 

那你 write(*,"(5i2)")a

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gcbjoy
2016-01-23 · TA获得超过1.1万个赞
知道大有可为答主
回答量:1.1万
采纳率:92%
帮助的人:2144万
展开全部
在格式语句format的尾部加上斜杠"\"可实现不自动换行。
例如:
a=12.23
b=23.33
c=45.89
write(*,100)a
write(*,100)b
write(*,100)c
100 format(1X,1F9.2\)
end
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhaozhengwei19
2010-05-24
知道答主
回答量:9
采纳率:0%
帮助的人:7万
展开全部
fortran中“/”表示换行,举个例子
program main
integer:: a=5,b=6
write(*,"(i3,/,i3)") a,b
end program main
Fortran中一般一个wirte语句的内容写在一行。若想在不同行输入也可与do结合。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式