结果可以运行,但是结果不会随着输入变化,这是为什么呀? 返回小木虫查看更多
贴出源代码
module contants implicit none real::a1, a2 real::ed = 9.91, edm = 14.5 real::b2 = 2.3 real::kb = 1.380649e-23 real::a_i = 0.08 real::a_j = 4.33d-5 real(kind=8)::h = 1.06e-34 real(kind=8)::w = 2.37e3 integer::b1 = 3390end module contants real function gos(x) use contants implicit none real:: x real(kind=4):: m, m1, m2 real(kind=4):: em1 real::a_1, b_1 integer::j, v integer::tv, t0, trot, tread *,x,tv,t0,trot,t a_1 = a1 - (b1/trot) - (b1/t0) a1 = -3*a_i*kb*t/(2*ed) a2 = -3*a_j*kb*t/(2*ed) if (v >= 0 .and. v < 9) then m1 = 0 m2 = 9 b_1 = b1 m = 1 em1 = (m1 + 0.5)*h*w gos= exp(x*em1 + a_1*m1)*((1 - exp((m2 - m1)*(x*b_1*kb + a_1)))/(1 - exp(x*b_1*kb + a_1))) else if (v >= 9 .and. v < 31) then m1 = 9 m2 = 31 b_1 = 0.75*b1 m = 2 em1 = (m1 + 0.5)*h*w gos= exp(x*em1 + a_1*m1)*((1 - exp((m2 - m1)*(x*b_1*kb + a_1)))/(1 - exp(x*b_1*kb + a_1))) else if (v >= 31 .and. v < 55) then m1 = 31 m2 = 55 b_1 = 0.45*b1 m = 3 em1 = (m1 + 0.5)*h*w gos= exp(x*em1 + a_1*m1)*((1 - exp((m2 - m1)*(x*b_1*kb + a_1)))/(1 - exp(x*b_1*kb + a_1))) end if! fl=q+d+c write(*,*) gos return end function program piok !use contants implicit none real::y,x real,external::gos y=gos(x) ! print*,gos end ,
嗯嗯
贴出源代码
module contants implicit none real::a1, a2 real::ed = 9.91, edm = 14.5 real::b2 = 2.3 real::kb = 1.380649e-23 real::a_i = 0.08 real::a_j = 4.33d-5 real(kind=8)::h = 1.06e-34 real(kind=8)::w = 2.37e3 integer::b1 = 3390end module contants real function gos(x) use contants implicit none real:: x real(kind=4):: m, m1, m2 real(kind=4):: em1 real::a_1, b_1 integer::j, v integer::tv, t0, trot, tread *,x,tv,t0,trot,t a_1 = a1 - (b1/trot) - (b1/t0) a1 = -3*a_i*kb*t/(2*ed) a2 = -3*a_j*kb*t/(2*ed) if (v >= 0 .and. v < 9) then m1 = 0 m2 = 9 b_1 = b1 m = 1 em1 = (m1 + 0.5)*h*w gos= exp(x*em1 + a_1*m1)*((1 - exp((m2 - m1)*(x*b_1*kb + a_1)))/(1 - exp(x*b_1*kb + a_1))) else if (v >= 9 .and. v < 31) then m1 = 9 m2 = 31 b_1 = 0.75*b1 m = 2 em1 = (m1 + 0.5)*h*w gos= exp(x*em1 + a_1*m1)*((1 - exp((m2 - m1)*(x*b_1*kb + a_1)))/(1 - exp(x*b_1*kb + a_1))) else if (v >= 31 .and. v < 55) then m1 = 31 m2 = 55 b_1 = 0.45*b1 m = 3 em1 = (m1 + 0.5)*h*w gos= exp(x*em1 + a_1*m1)*((1 - exp((m2 - m1)*(x*b_1*kb + a_1)))/(1 - exp(x*b_1*kb + a_1))) end if! fl=q+d+c write(*,*) gos return end function program piok !use contants implicit none real::y,x real,external::gos y=gos(x) ! print*,gos end
,
嗯嗯