fortran 语言中的语句 DATA FOR /'(?(1X,I3))'/ 中的?是什么意思
来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/08/18 02:52:57
fortran 语言中的语句 DATA FOR /'(?(1X,I3))'/ 中的?是什么意思
![fortran 语言中的语句 DATA FOR /'(?(1X,I3))'/ 中的?是什么意思](/uploads/image/z/6221264-32-4.jpg?t=fortran+%E8%AF%AD%E8%A8%80%E4%B8%AD%E7%9A%84%E8%AF%AD%E5%8F%A5+DATA+FOR+%2F%27%28%3F%281X%2CI3%29%29%27%2F+%E4%B8%AD%E7%9A%84%3F%E6%98%AF%E4%BB%80%E4%B9%88%E6%84%8F%E6%80%9D)
这只是‘?’字符而已,可以根据需要改变?处的值,这么做是因为不确定要输出数字的个数.比如下面的子程序用于输出一个矩阵:
subroutine output (matrix)
implicit none
integer ::m,n
real ::matrix(:,:)
integer i
character(len = 20) ::for = '(?(1X,F9.6))' !处的值不确定
m = size(matrix,1) !矩阵的行数
n = size(matrix,2) !矩阵的列数
write (for(2:3),"(I2)") n !把矩阵的列数以两个字符宽度写入for字符串中的?处
do i = 1,n
write (*,for) matrix(i,:) !用for中的格式输出矩阵的行
end do
return
end subroutine output
可以参考《Fortran95程序设计》彭国伦
subroutine output (matrix)
implicit none
integer ::m,n
real ::matrix(:,:)
integer i
character(len = 20) ::for = '(?(1X,F9.6))' !处的值不确定
m = size(matrix,1) !矩阵的行数
n = size(matrix,2) !矩阵的列数
write (for(2:3),"(I2)") n !把矩阵的列数以两个字符宽度写入for字符串中的?处
do i = 1,n
write (*,for) matrix(i,:) !用for中的格式输出矩阵的行
end do
return
end subroutine output
可以参考《Fortran95程序设计》彭国伦