본문 바로가기
개발자

3.76시간은 몇시간, 몇분, 몇 초인지 출력하세요

by ⁖⁝‥ 2022. 5. 2.

3.76시간은 몇시간, 몇분, 몇 초인지 출력하세요

# include <stdio.h>
# define _CRT _SECURE _ NO _ WARNINGS

int main(void)
{
	int hour, min, sec;
	double time = 3.76;

	hour = (int)time; //hour <-3대입
	time -= hour; //time = time -hour 하면 0.76
	time *= 60.0; //time <-0.76 * 60.0 = 45.6 // time : 45.59999999999998721023
	min = (int)time; // min <- 45
	time -= min; //time < - 45.6-45 대입
	time *= 60.0; // time<-0.6*60 대입 // time : 35.99999999999923261385
	sec = (int)time; //sec는 35
    
	printf("3.76시간은 %d시간 %d분 %d초 입니다. ", hour, min, sec);

	//결과 : 3.76시간은 3시간 45분 35초 입니다.

	return 0;

}

3.76 이라는 값 자체가 정확한 값이 아니기때문에

계산에서 실수를 사용하면 항상 오차가 발생할 수 밖에 없다

그래서 35초인지 36초인지 따질 필요가 없다

 

반응형

댓글