24小时热门版块排行榜    

查看: 1309  |  回复: 5

欢迎你来了

新虫 (小有名气)

[求助] 运行结果不随输入变化

结果可以运行,但是结果不会随着输入变化,这是为什么呀?

运行结果不随输入变化


发自小木虫Android客户端
回复此楼

» 猜你喜欢

已阅   关注TA 给TA发消息 送TA红花 TA的回帖

raymond137

金虫 (正式写手)

2楼2021-05-21 07:06:37
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

欢迎你来了

新虫 (小有名气)

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

发自小木虫Android客户端
3楼2021-05-21 11:18:56
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

欢迎你来了

新虫 (小有名气)

引用回帖:
2楼: Originally posted by raymond137 at 2021-05-21 07:06:37
贴出源代码

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 = 3390
end 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, t
read *,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

发自小木虫Android客户端
4楼2021-05-21 11:26:32
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

raymond137

金虫 (正式写手)

引用回帖:
4楼: Originally posted by 欢迎你来了 at 2021-05-21 11:26:32
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 ...

我是做C++的。你这个是什么语言代码?Fortran?建议你用debug模式,加几个断点,分步跟踪。

发自小木虫Android客户端
5楼2021-05-21 11:53:14
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

欢迎你来了

新虫 (小有名气)

6楼2021-05-21 11:59:59
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 欢迎你来了 的主题更新
信息提示
请填处理意见