소프트웨어/C++
[2003년 기말 12번] 반올림 값 출력 - 형변환
카켈
2007. 2. 24. 07:43
목적
- 반올림을 C에 적용 시키고 이해한다.
문제
풀이
#include <iostream>
using namespace std;
int main(void)
{
float fIn = 0;
while(1)
{
cout << "실수값 하나를 입력하세요 : ";
cin >> fIn;
if(fIn == 0) break;
cout << fIn << " 의 반올림한 값은 " <<
((fIn - (int)fIn) >= 0.5 ? (int)fIn + 1 : (int)fIn) << " 입니다." << endl << endl;
}
return 0;
}
해설
- 실수형 자료를 정수형 변환(캐스팅)을 하면 소숫점이 지워 집니다. 이를 이용하여 차를 구해 0.5 이상이면 정수형 변환한 값에다가 1을 더한 값을 아니면 변환된 값만 출력합니다.
- while 문으로 무한 반복을 수행하다가 0 이 입력되면 break 로 탈출하여 종료 합니다.
참고
- 유사 문제 : 형변환 활용