简单的 Fortran 程序示例
下面是一个简单的 Fortran 程序示例,用于计算一组数字的平均值。程序结构清晰,非常适合初学者快速了解 Fortran 的基本概念。
示例程序
program average_calculator
implicit none
! 声明变量
integer :: n, i
real :: sum, average
real, dimension(:), allocatable :: numbers
! 获取数字的数量
print *, '请输入数字的数量: '
read *, n
! 分配存储空间给数组
allocate(numbers(n))
! 初始化变量
sum = 0.0
! 读取用户输入的数字
print *, '请输入', n, '个数字:'
do i = 1, n
read *, numbers(i)
sum = sum + numbers(i)
end do
! 计算平均值
average = sum / n
! 输出结果
print *, '您输入的数字的平均值是: ', average
! 释放数组空间
deallocate(numbers)
end program average_calculator
程序讲解
-
program average_calculator
:- 定义了一个程序,程序名为
average_calculator
。在 Fortran 中,每个程序都必须以program
开头,并以end program
结束。
- 定义了一个程序,程序名为
-
implicit none
:- 禁止 Fortran 的隐式变量声明,这样程序员必须明确声明每一个变量的类型。这是一个良好的编程习惯,有助于避免错误。
-
变量声明:
integer :: n, i
:声明两个整数变量,n
表示用户要输入的数字个数,i
用于循环。real :: sum, average
:声明两个实数变量,sum
用于保存输入数字的总和,average
用于保存计算的平均值。real, dimension(:), allocatable :: numbers
:声明一个可分配的实数数组numbers
,用于存储用户输入的数字。
-
allocate(numbers(n))
:- 动态分配数组
numbers
的存储空间,大小为用户输入的n
。在 Fortran 中,allocate
用于为可分配数组分配内存。
- 动态分配数组
-
do
循环:do i = 1, n
循环让用户输入n
个数字,并逐步将数字加到sum
中。
-
average = sum / n
:- 计算输入数字的平均值。
-
print *
和read *
:print *
用于输出信息到屏幕,read *
用于从用户输入中读取数据。
-
deallocate(numbers)
:- 释放之前用
allocate
动态分配的数组空间。
- 释放之前用
如何运行这个程序
-
编写代码:
- 将上述代码保存到一个文件中,文件名可以为
average_calculator.f90
。
- 将上述代码保存到一个文件中,文件名可以为
-
编译程序:
- 在命令行中使用 Fortran 编译器(如
gfortran
)进行编译:gfortran -o average_calculator average_calculator.f90
- 在命令行中使用 Fortran 编译器(如
-
运行程序:
- 编译成功后,运行生成的可执行文件:
./average_calculator
- 编译成功后,运行生成的可执行文件:
-
输入数据:
- 程序会提示你输入数字的数量,然后输入多个数字,程序会计算并显示它们的平均值。
示例运行
请输入数字的数量:
5
请输入5个数字:
1.0
2.0
3.0
4.0
5.0
您输入的数字的平均值是: 3.000000