【Fortran】初级数组(一维数组)

本文介绍了Fortran中一维数组的声明、初始化、下标、操作及输入输出。数组声明时可使用参数,初始化包括赋值语句、类型声明语句和语句。数组下标从1开始,可通过下标访问元素。支持整体和部分数组操作,并提供隐式循环进行批量输入输出。
摘要由CSDN通过智能技术生成


Fortran中的一维数组

数组是一组类型完全相同、且用单个名字来引用的变量或常量。

1) 数组声明

在声明数组大小时,应使用参数来声明,以保证程序后续易修改。

  1. 一维数组:长度与数组中个数相同,使用( )可以访问具体数值。声明语句如:
INTEGER,DIMENSION(10)::number  ! 定义长度为10的整数型数组number,同理可换成其它类型
  1. 常量数组是指完全由常量组成的数组,可以通过数组构造器来定义。数组构造器的形式有(/ /)[ ],以下两个数组是等效的:
(/ 1 , 2 , 3 , 4 , 5 /)
[ 1 , 2 , 3 , 4 , 5 ]

2) 数组初始化

在使用数组之前,一定要先对其初始化。

初始化方法主要有三种:

  1. 用赋值语句初始化;

    1. 元素较少的,直接赋值,如:
    REAL , DIMENSION(10)::array1
    array1 = [1. , 2. , 3. , 4. , 5. , 6. , 7. , 8. , 9. , 10. ]
    
    1. 元素较多,且有规律的,可结合DO循环语句,如:
    REAL , DIMENSION(100)::array2
    DO i = 1,100
    	array2( i ) = REAL( i )
    END DO
    
    1. 数组中所有元素均为同一值,可直接赋值,如:
    REAL , DIMENSION(10)::array3
    array3 = 1.0     ! 所有元素均为1.0
    
  2. 使用类型声明语句初始化;

    1. 元素较少的,直接声明,如:
    REAL , DIMENSION(
Fortran中,要将一个二维数组减去一个一维数组,你需要确保两个数组的维度和大小是兼容的。如果一维数组的大小与二维数组的某个维度大小相等,你可以通过在二维数组的每个元素上减去相应的一维数组元素来实现减法操作。 下面是一个示例代码,将一个二维数组减去一个一维数组: ```fortran program array_subtraction implicit none integer, parameter :: n = 3 ! 二维数组的大小 integer :: i, j integer :: two_d_array(n,n) ! 二维数组 integer :: one_d_array(n) ! 一维数组 ! 初始化二维数组 do i = 1, n do j = 1, n two_d_array(i, j) = i + j end do end do ! 初始化一维数组 do i = 1, n one_d_array(i) = i end do ! 输出原始的二维数组一维数组 write(*,*) "原始的二维数组:" do i = 1, n write(*,*) two_d_array(i,:) end do write(*,*) write(*,*) "原始的一维数组:" write(*,*) one_d_array ! 将二维数组减去一维数组 do i = 1, n two_d_array(i,:) = two_d_array(i,:) - one_d_array end do write(*,*) ! 输出结果 write(*,*) "减去一维数组后的二维数组:" do i = 1, n write(*,*) two_d_array(i,:) end do end program array_subtraction ``` 在上面的示例代码中,我们首先初始化一个3x3的二维数组 `two_d_array` 和一个大小为3的一维数组 `one_d_array`。然后,我们将 `two_d_array` 的每一行减去 `one_d_array`,并将结果存储回 `two_d_array`。最后,我们输出结果。请注意,这种操作只在数组的维度和大小相匹配时才有效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值