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