Fortran 打印语句格式,空格过多
Fortran Print Statement formatting, too many white spaces
我正在写的 Fort运行 程序是将两个整数相加并求和,我必须将其打印为“4+5=9”,而 4 和 5 是用户输入。我 运行 在 print 语句中打印出太多不必要的空格的问题。所以我做了一些研究,然后找到了解决方案。但它一直告诉我 PRINT 语句中的语法错误,我不知道为什么以及如何。请帮我解决这种情况。谢谢
我使用了这个link提供的解决方案:Output formatting: too much whitespace in gfortran
PROGRAM SumProgram
IMPLICIT NONE
!Define and initialize variables
integer :: IntegerOne, IntegerTwo, Sum
IntegerOne = 0
IntegerTwo = 0
Sum = 0
!Prompt the user for inputs
print *,' Enter the two Integers to be added together: '
READ(*,*) IntegerOne, IntegerTwo
!Do the Calculation
Sum = IntegerOne + IntegerTwo
PRINT (*, '(I0, "+", I0, "=", I0)') IntegerOne, IntegerTwo, Sum
END PROGRAM
我期待“4+5=9”的输出
您的语法适用于 WRITE
语句,但 PRINT
类似于
PRINT '(I0, "+", I0, "=", I0)', IntegerOne, IntegerTwo, Sum
但我发现
PRINT '(5g0)', IntegerOne, "+", IntegerTwo, "=", Sum
更容易阅读。 (如果不能用g0
,就用'(i0,a,i0,a,i0)'
。)
或者只是将 PRINT
换成 WRITE
...我个人总是使用 write 并且只使用 print 来临时调试消息。这使它们很容易找到。
记住基本形式是
PRINT *, "Hello"
对比
WRITE(*,*) "Hello"
因此具有显式格式的表格必须符合它们。
我正在写的 Fort运行 程序是将两个整数相加并求和,我必须将其打印为“4+5=9”,而 4 和 5 是用户输入。我 运行 在 print 语句中打印出太多不必要的空格的问题。所以我做了一些研究,然后找到了解决方案。但它一直告诉我 PRINT 语句中的语法错误,我不知道为什么以及如何。请帮我解决这种情况。谢谢
我使用了这个link提供的解决方案:Output formatting: too much whitespace in gfortran
PROGRAM SumProgram
IMPLICIT NONE
!Define and initialize variables
integer :: IntegerOne, IntegerTwo, Sum
IntegerOne = 0
IntegerTwo = 0
Sum = 0
!Prompt the user for inputs
print *,' Enter the two Integers to be added together: '
READ(*,*) IntegerOne, IntegerTwo
!Do the Calculation
Sum = IntegerOne + IntegerTwo
PRINT (*, '(I0, "+", I0, "=", I0)') IntegerOne, IntegerTwo, Sum
END PROGRAM
我期待“4+5=9”的输出
您的语法适用于 WRITE
语句,但 PRINT
类似于
PRINT '(I0, "+", I0, "=", I0)', IntegerOne, IntegerTwo, Sum
但我发现
PRINT '(5g0)', IntegerOne, "+", IntegerTwo, "=", Sum
更容易阅读。 (如果不能用g0
,就用'(i0,a,i0,a,i0)'
。)
或者只是将 PRINT
换成 WRITE
...我个人总是使用 write 并且只使用 print 来临时调试消息。这使它们很容易找到。
记住基本形式是
PRINT *, "Hello"
对比
WRITE(*,*) "Hello"
因此具有显式格式的表格必须符合它们。