MST

星途 面试题库

面试题:Fortran在物理学模拟中数组的应用

在物理学模拟场景里,常需要处理大量数据,比如模拟粒子运动轨迹时每个粒子不同时刻的位置信息。请用Fortran编写一段代码,创建一个三维数组来存储100个粒子在50个不同时刻的xyz坐标,并初始化数组,每个坐标值初始化为粒子编号和时刻编号的乘积 。
47.2万 热度难度
编程语言Fortran

知识考点

AI 面试

面试题答案

一键面试
program particle_coordinates
    implicit none
    integer, parameter :: num_particles = 100
    integer, parameter :: num_times = 50
    real :: coordinates(num_particles, num_times, 3)
    integer :: i, j, k

   ! 初始化数组
    do i = 1, num_particles
        do j = 1, num_times
            do k = 1, 3
                coordinates(i, j, k) = real(i * j)
            end do
        end do
    end do

   ! 输出数组部分内容验证结果(这里只输出前几个粒子在不同时刻的坐标示例)
    do i = 1, min(num_particles, 5)
        do j = 1, min(num_times, 5)
            write(*,*) 'Particle ', i,' at time ', j,' coordinates:', coordinates(i, j, :)
        end do
    end do
end program particle_coordinates