2016-10-28 1 views
0
PROGRAM ONE 
IMPLICIT NONE 

REAL::num1,num2,num3 

READ(*,*)num1,num2 
num3=num1+num2 
WRITE(*,*)num3 

STOP 
END PROGRAM ONE 

WRITE 문은 "num3"의 실수를 표시합니다. 정수 값을 표시하고 선언에서 정수로 변경할 수 없도록하려면 어떻게해야합니까?REAL 출력을 INTEGER로 변환

+0

정수를 화면에 출력하기 전에 정수로 변환하십시오. – Wildcat

+0

@Wildcat 알아,하지만 어떻게? INTEGER (num3)을 시도했지만 작동하지 않습니다. 그것은 나에게 오류를 줬다. – Master

+1

그것은'int (num3)'이되기 때문에. – Wildcat

답변

2

real 숫자는 int 내장 함수를 사용하여 integer으로 변환 할 수 있습니다.

program one 

    implicit none 

    real :: num1, num2, num3 

    read (*, *) num1, num2 
    num3 = num1 + num2 
    write (*, *) int(num3) 

end program one 

int 함수는 단순히 실제 인수를 자릅니다. 더 정확하게, int(a)은 다음 a 유형의 경우 real 계산과 같이

  • 경우 | A는 | < 1, int(a)의 값은 0입니다.
  • | a | > = 1, int(a)a의 크기를 초과하지 않고 부호가 a의 부호와 동일한 최대 정수인 정수입니다. 이 아닌 당신이 필요로하는 경우

ceiling 또는 floor 또는 nint 고유 대신를 사용하는 것이 좋습니다. 첫 번째 매개 변수는 실제 인수보다 크거나 같은 최소 정수를 반환하고 두 번째 매개 변수는 가장 작은 정수를 반환하며 세 번째 매개 변수는 가장 가까운 정수를 반환합니다.