回 帖 发 新 帖 刷新版面

主题:谁能告诉我这个子程序什么意思

real function randomnumber()
        implicit none
        real c
       !call random_seed() ! 系统根据日期和时间随机地提供种子 
        call random_number(c) 
        randomnumber=c
        return
      end

主程序中
if (randomnumber() >=0.0) then
         p1=1      ! 默认 D 是第一种组元
      else 
         p1=2
     
没发现别的地方有对c赋值的啊!主程序中randomnumber()应该等于多少呢、

回复列表 (共4个回复)

沙发

rando_number()是一个随机函数
call random_number(c)就是对c赋值了。

板凳


还是没怎么懂!
1.randomnumber()和rundom_number()一样么?
2.我看书上调用子程序时,子程序名字的括号里应该是一个数字,或者在主程序中给这个变量赋值!可是这个程序没有给C赋值啊?那么随机数不就成了字母了么?怎么和0.0比较呢?[em18]

3 楼

楼主还是先好好看看书再说吧。。。
这实在是太基本的东东了。。。

4 楼

虽然没实际用过这种种子法生成随机数,不过猜测random_number是系统自带的subroutine,这个subroutine的作用就是把你传递过去的c赋值成为它生成的随机数。

我来回复

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