作者zx168zx (zx168zx)
看板Fortran
标题Re: [问题] 要如何将回圈值分开存档
时间Wed Nov 19 22:12:18 2014
下面是我又尝试的新方法
program test
IMPLICIT REAL * 8 (A - H, O - Z)
IMPLICIT integer * 8 (I-N)
character(100)::filename
filename='000.txt'
nn=2 !记事本数量
do i=1,nn
unit=i+10
write(filename(1:3),'(i3.3)') i
open(unit=unit,file=filename,status='unknown',position='rewind')
end do
do aa=2,2
do bb=1,2
do unit=11,nn+10
while_loop=0 !计算do whlie内的回圈数
do while(条件)
while_loop=while_loop+1
write(unit,"( 3(F13.5))") aa,bb,X
enddo
enddo
write((125,*) aa,bb,while_loop
enddo
enddo
这样执行的结果我可以创出编号001~nn个记事本并写入资料
但他并不会依照我的aa,bb回圈写入
比如001记事本 依然写入aa=2 bb=1,aa=2,bb=2的资料
002记事本也是如此
而且写入的资料量与我的loop数不合 不知道是哪边出了问题
另外执行完会跑出fort.124这个档案 也不知道为什麽会跑出来
想请问各位大大前辈们 这样是哪边写法有误吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.116.46.236
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Fortran/M.1416406341.A.15E.html
1F:推 laa7352: 把while_loop=0放到do unit=11前面? 11/20 07:01
2F:→ zx168zx: 我LOOP是要算 do while里面的loop数 11/20 10:49
3F:→ zx168zx: 好像应该要放前面 但我记事本纪录的量还是跟LOOP不一样 11/20 10:54
4F:→ zx168zx: 而且记事本里面纪录了aa=2 bb=1~2的值 11/20 10:56
5F:→ fcuiii: 你I那个DO 要把 aa bb 那些DO 放进去 11/20 11:37
6F:→ fcuiii: 会出现fort是因为你写出到没指定的档案 11/20 11:40
7F:→ fcuiii: 你filemane可以写成filemane=trim(i)//".txt" 11/20 11:43
8F:→ fcuiii: open(unit,file=trim(filemane)) 11/20 11:44
9F:→ fcuiii: unit 可以不变 但在DO I回圈里要加close(unit) 11/20 11:45
10F:→ zx168zx: 谢谢 我再试试看 11/21 09:59