Fortran Coder

查看: 10383|回复: 9
打印 上一主题 下一主题

[数值问题] Fortran如何实现1000个变量循环赋10个值

[复制链接]

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
楼主
发表于 2017-7-7 15:10:14 | 显示全部楼层
本帖最后由 vvt 于 2017-7-7 15:16 编辑

[Fortran] 纯文本查看 复制代码
real :: a(1000)
  integer :: i
  Do i = 1 , 10
    a(i::10) = i
  End Do


a( x : y : z ) = i 的意思是,从第x个开始,到第y个结束,每z个数赋值为 i
(其中x忽略则从数据最开始开始y忽略则到数组最尾端结束z忽略则每1个数赋值

所以 a( i : : 10 ) = i 的意思是,从第 i 个到最后一个每10个数赋值为  i


954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
沙发
发表于 2017-7-7 16:31:26 | 显示全部楼层
[Fortran] 纯文本查看 复制代码
program aweigh
  implicit none !//这句话非常非常重要!!请一定要写 implicit none
  real(8) :: a(10000)
  integer :: i
  Real(8) , parameter :: N=14.00672 !// N 要定义成 real8 
  Real(8) , parameter :: H=1.00795
  Real(8) , parameter :: C=12.01078
  open(13,file='aweigh.txt')
  do i=1,10
    Select Case( i ) !//用 Select 语句,方便直观
    Case(1,5)
      a(i::10)=N
    Case(3,4,8)
      a(i::10)=C
    Case Default
      a(i::10)=H
    End Select
  enddo
  do i=1,10000
    write(3,*)a(i)
  enddo
  close(13)
end program aweigh
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-5-4 23:43

Powered by Tencent X3.4

© 2013-2024 Tencent

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