我正在编写的Fortran程序是将两个整数加在一起并得到一个和,我必须将其打印为“ 4 + 5 = 9”,而4和5是用户输入。我遇到了在打印语句中打印出过多不必要空间的问题。所以我做了一些研究,然后找到了解决方案。但是它一直告诉我PRINT语句中的语法是错误的,我也不知道为什么以及如何。请帮我解决这种情况。谢谢
我使用了以下链接提供的解决方案: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”
答案 0 :(得分:5)
您的语法适合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"
vs。
WRITE(*,*) "Hello"
因此具有显式格式的表单必须符合它们。