MST

星途 面试题库

面试题:Fortran文件输入输出之基础操作

在Fortran中,编写一个程序,从一个文本文件读取整数序列,并将这些整数的平方写入另一个文件。假设文本文件中每行存储一个整数。请展示完整的代码结构,包括文件打开、读取、处理和写入操作,同时要进行必要的错误处理。
19.1万 热度难度
编程语言Fortran

知识考点

AI 面试

面试题答案

一键面试
program read_square_write
    implicit none

    integer :: unit_in, unit_out
    integer :: num
    character(len=100) :: infile, outfile
    integer :: iostat

   ! 设置输入和输出文件名
    infile = 'input.txt'
    outfile = 'output.txt'

   ! 打开输入文件
    open(newunit=unit_in, file=infile, status='old', action='read', iostat=iostat)
    if (iostat /= 0) then
        print *, '无法打开输入文件:', trim(infile)
        stop
    end if

   ! 打开输出文件
    open(newunit=unit_out, file=outfile, status='replace', action='write', iostat=iostat)
    if (iostat /= 0) then
        print *, '无法打开输出文件:', trim(outfile)
        close(unit_in)
        stop
    end if

   ! 逐行读取输入文件,计算平方并写入输出文件
    do
        read(unit_in, *, iostat=iostat) num
        if (iostat /= 0) exit
        write(unit_out, *) num**2
    end do

   ! 关闭文件
    close(unit_in)
    close(unit_out)

end program read_square_write