回 帖 发 新 帖 刷新版面

主题:程序问题

program pressure_main 
DOUBLE PRECISION dimension, U(99,99),V(99,99),P(99,1),D(99,1),E(99,1)
integer n,i,j
DOUBLE PRECISION a,b
a=2*pi/n
   do i=1,n-1
        U(i,i)=-(1+b*cos((i+1/2)*a))**3-(1+b*cos((i-1/2)*a))**3
        U(i+1,i)=(1+b*cos((i-1/2)*a))**3
        U(i,i+1)=(1+b*cos((i+1/2)*a))**3
    end do

do i=1,n-2
  V(1,1)=U(1,1)
  V(i,i+1)=U(i,i+1)
  V(i+1,i+1)=U(i+1,i+1)-U(i+1,i)*U(i,i+1)/U(i,i)
end do

   do i=1,n-1
     D(i,1)=3*b*(cos((i+1/2)*a)-cos((i-1/2)*a))
   end do

 do i=1,n-2
    E(1,1)=D(1,1)
    E(i+1,1)=D(i+1,1)-U(i+1,i)*D(i,1)/U(i,i)
 end do

      do i=98,1,-1
      P(99,1)=E(99,1)/V(99,99)
      P(i,1)=(E(i,1)-V(i,i)*P(i+1,1))/V(i,i)
      end do

 PRINT *,'Input integer n and DOUBLE PRECISION b ?'
 read (*,*)  n,b
 
  write(*,100) 'P=',P
  100 format(d4.8) 
 
  end  program pressure_main
请问这个程序有什么问题?编译时没问题,运行时没结果。

回复列表 (共2个回复)

沙发

在 program pressure_main 下面加一行: implicit none,
在 a=2*pi/n 下面加一行:print*,pi,n,a

要自己多调试慢慢体会啊小同志:电脑做事是有原则的

板凳

谢谢,因为时间太急了,我怕自己解决来不及,所以只好麻烦大家了。以后我会慢慢改进的。

我来回复

您尚未登录,请登录后再回复。点此登录或注册