Fortran向文件中写入数据的问题

我要向一个文件中写入数据,其中写入数据那一行代码是:WRITE(1111,*)NODE_CORD(I,1),NODE_CORD(I,2),NODE_CORD(I,3),N... 我要向一个文件中写入数据,其中写入数据那一行代码是:
WRITE(1111,*) NODE_CORD(I,1),NODE_CORD(I,2),NODE_CORD(I,3),NODE_ALPHA(I)
但是得到的就是类似于下面的格式:
0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000
0.000000000000000E+000
问题1:我希望一行显示4个数,每个数之间空一个空格,可是发现每两个数之间空格为2个,并且第四个数已经跑到了下一行了,想解决这个问题。
问题2:我前三个数都是整数,能不能不显示科学计数法?

谢谢!
展开
 我来答
whale57
2013-12-11 · TA获得超过181个赞
知道小有建树答主
回答量:175
采纳率:0%
帮助的人:104万
展开全部
write(1111,"(3i4,f4.2)")NODE_CORD(I,1),NODE_CORD(I,2),NODE_CORD(I,3),NODE_ALPHA(I)

3i4和f4.2里面的数值根据你的数据而定,如果你的整数为个位数,且要空一格,则写3i2, f后面的数值4代表加上小数点一共显示几位,2代表其中包括的小数位。
健康快乐李泡泡
推荐于2016-07-12 · TA获得超过420个赞
知道小有建树答主
回答量:106
采纳率:100%
帮助的人:74.1万
展开全部
WRITE(1111,"(D8.2,1x,D8.2,1x,D8.2,1xD8.2)") NODE_CORD(I,1),NODE_CORD(I,2),NODE_CORD(I,3),NODE_ALPHA(I)
其中,D8.2表示以8个字符宽度来输出指数类型浮点数,小数部分占2个字符宽度。1x表示指针向后移动一个空格。
注意输出的必须是浮点数,如果你前三个数是整型数,你必须先将其转化为浮点数在输出。real(NODE_CORD(l,1))
追问
最后得到的是0.00D+00这样的数值,能不能把D变成E,因为这样的话才好被C++读入。
追答
把D8.2改成E8.2就成
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
matlabfunc
2015-06-19 · TA获得超过1197个赞
知道小有建树答主
回答量:1004
采纳率:0%
帮助的人:588万
展开全部
Print,Write两个函数即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式