본문 바로가기

C

[C언어] 실습: 1년(365.2422일)을 일, 시, 분, 초로 표현하기

반응형

1년(365.2422일)을 일, 시, 분, 초로 표현하기


#include<stdio.h>

int main(){
   double tmp = 365.2422;
   int day = 0, hour = 0, min = 0, sec = 0;

   printf("1년은 %.4lf일 이다.\n", tmp);

   day = (int)tmp;   // double형의 tmp를 int형 day에 대입하면 데이터 손상이 발생한다.
                     // 따라서 casting 하여 (int)tmp = 365를 대입한다.
   tmp -= day;       // day는 365일, tmp에 나머지 값인 0.2422일을 대입해준다.
   hour = tmp * 24;  // 1일은 24시간 이므로 tmp(0.2422일)에 '24(시간)/1(일)' 을 곱하여준다.
   tmp = (tmp * 24) - hour;
   min = tmp * 60;
   tmp = (tmp * 60) - min;
   sec = tmp * 60;
   
   printf("%d일 %d시 %d분 %d초\n", day, hour, min, sec);

   return 0;
}

 

반응형