Fortran Coder

子例行程序

查看数: 16468 | 评论数: 3 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2021-4-18 15:14

正文摘要:

本帖最后由 胆怯滴大侠 于 2021-4-18 15:19 编辑 [Fortran] 纯文本查看 复制代码 program hello     implicit none     integer n,s     subroutine fcount(n,s)     s ...

回复

vvt 发表于 2021-4-18 16:32:49
考虑到 Fortran 是一门向量化的语言,给出一个高级的版本,非常简单且高效。

[Fortran] 纯文本查看 复制代码
program hello
    implicit none
    integer n,s

    subroutine fcount(n,s)
    s=0
    do i=1,n
        s=s+1./i
    end do
    end

    call fcount(50,s1)
    call fcount(100,s2)
    call fcount(150,s3)
    call fcount(200,s4)
    s=s1+s2+s3+s4
    print *, "s=", s

end program
胆怯滴大侠 发表于 2021-4-18 16:30:03
vvt 发表于 2021-4-18 16:19
程序单元里不能直接放入另一个程序单元,需要符合一定的规则。

[mw_shl_code=fortran,true]program hello

非常感谢
vvt 发表于 2021-4-18 16:19:34
程序单元里不能直接放入另一个程序单元,需要符合一定的规则。

[Fortran] 纯文本查看 复制代码
program hello
  implicit none
  write(*,*) "s=", sum(fcount([50,100,150,200]))

contains

Elemental Real Function fcount(n) result( s )
  integer , intent(IN) :: n
  integer :: i
  s=sum(1./[(i,i=1,n)])
End Function fcount

End program hello

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-11-23 21:51

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表