소프트웨어/C
[2003년 중간 4번] 초 계산 - 자료형 이해
카켈
2007. 2. 5. 23:22
1. 목적
- 큰 숫자에 대한 이해를 한다.
2. 문제
- 초 계산을 한다.
- 입력 범위는 500,000 ~ 2,500,000 초로 한다.
- 출력 화면
=====================================
계산을 위한 초를 입력하세요. : 1264809
1264809 초는 14일 15시간 20분 9초입니다.
=====================================
Press any key to continue
계산을 위한 초를 입력하세요. : 1264809
1264809 초는 14일 15시간 20분 9초입니다.
=====================================
Press any key to continue
3. 이해
- 기존 int 형의 한계를 이해하고 큰 수를 쓰는 자료형을 이해하고 있는가?
- 초를 이용한 일수와 시간/분 계산을 할수 있는가?
4. 코드
#include <stdio.h>
int main()
{
long input;
printf("=====================================\n");
printf(" 계산을 위한 초를 입력하세요. : ");
scanf("%d", &input);
printf(" %d 초는 %d일 %d시간 %d분 %d초입니다.\n", input, (input / 3600) / 24, (input / 3600) % 24, ((input % 3600) / 60), ((input % 3600) % 60));
printf("=====================================\n");
return 0;
}
5. 해설
- int 의 자릿수에는 한계가 있습니다. 그래서 더 큰 자릿수를 수용할수 있는 자료형인
long 을 씁니다.
- 초로 날짜와 시간/분 을 구하는 계산 알고리듬이 간단하게 구현되어 있습니다.
6. 참고
- http://www.winapi.co.kr/clec/cpp1/3-3-2.htm : 정수형 길이