| 本帖最后由 richard7 于 2021-12-27 10:10 编辑 
 兄弟们帮帮忙,、
 代码是大循环套个小循环
 大循环从文件中读入r
 代入小循环迭代
 但是r能正常的输出
 小循环中的参数输出时都变成了第一个r的数据了
 想求助一下是为什么
 需要使用数组吗文件里就是简单的3个数字
 
 [Fortran] syntaxhighlighter_viewsource syntaxhighlighter_copycode program main1
 implicit  none
 real (kind=4) :: r,s,x,u,v,q,k,p
 integer , parameter :: l=5 
 integer :: t
 integer :: status=0
 x=0
 t=0
 write(*,*) "压差p(MPa)"
 read(*,*) p
 open(unit=10,file="test.txt")
 do while(.true.)
   read(10,"(F9.3)",iostat=status)r
   write(*,*)"r=", r
   s=3.14*(r*0.0001/2)**2
   write(*,"(' s=',2X,F15.13)") s
   do while (x<=l)
     u=(5*(l-x)**2+0.75*x**2)/((l-x)**2+x**2)
     v=((r*0.000001/2))**2*p*1000000/(8*u*0.001*0.05*100)
     q=v*s
     x=x+v
     t=t+1
   end do
 write(*,*) "t=",t
 write(*,*) "x=",x
 write(*,*) "u=",u
 write(*,"(' v=',2X,F10.8)") v
 write(*,"(' q=',2X,F15.13)") q
 if(status/=0) exit
 end do
 STOP
end
 |