我有一个程序,它接受三个数字并计算这三个数字是否形成一个三角形。如果是这样,它会打印三个边和周长。然而,由于某种原因,在打印周长时,它没有说Perimeter= 3
(例如),而是说Perimeter= @@
. 知道什么会导致这种情况吗?这是我第一次尝试使用 Fortran,所以我有点迷茫。
PROGRAM G6P1
IMPLICIT NONE
REAL :: a, b, c, perimeter
CHARACTER(LEN=30) :: Format, PerimeterFormat
Format = "(3(2(A,X),F6.1,A,2X))"
PerimeterFormat = "(' ',10A,X,F7.1)"
PRINT *,'Please enter 3 numbers to form a triangle'
READ *, a, b, c
IF (a+b.gt.c) THEN
IF (b+c.gt.a) THEN
IF (a+c.gt.b) THEN
PRINT *,'It is a triangle!'
WRITE (*,Format) 'A','=',a,';','B','=',b,';','C','=',c,';'
perimeter = A+B+C
WRITE (*,PerimeterFormat) '','Perimeter=',perimeter
ELSE
PRINT *,'The sides do not form a triangle'
WRITE (*,Format) 'A','=',a,';','B','=',b,';','C','=',c,';'
ENDIF
ELSE
PRINT *,'The sides do not form a triangle'
WRITE (*,Format) 'A','=',a,';','B','=',b,';','C','=',c,';'
ENDIF
ELSE
PRINT *,'The sides do not form a triangle'
WRITE (*,Format) 'A','=',a,';','B','=',b,';','C','=',c,';'
ENDIF
END PROGRAM G6P1