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초인지 따질 필요가 없다
반응형
'개발자' 카테고리의 다른 글
두들낙서 12강 ~16강 정리 (0) | 2022.06.15 |
---|---|
두들낙서 C/C++강좌 7강, 8강, 9강 (0) | 2022.06.14 |
if문 기초 연습문제, 자료형 크기비교, 시간 출력 (0) | 2022.04.29 |
free code camp / C programming 유튜브 강의 정리 1 (0) | 2022.04.21 |
나도코딩 C 프로그래밍 3. 조건/분기 if else 숫자맞히기 게임 (0) | 2022.04.20 |
댓글