Computer >> 컴퓨터 >  >> 프로그래밍 >> C 프로그래밍

C 언어로 일수를 개월 수와 일로 변환하는 프로그램 만들기

개요

이 글에서는 사용자로부터 총 일수를 입력받아, 이를 개월 수남은 일수로 변환하여 출력하는 C 프로그램을 살펴보겠습니다. 예를 들어 456일을 입력하면 '15개월 6일'처럼 표현할 수 있습니다.

변환 공식

일수를 월 단위로 변환하는 기본 공식은 다음과 같습니다. 한 달을 30일로 가정하고 정수 나눗셈을 활용합니다.

Month = days / 30

그리고 나머지 연산자(%)를 사용하면 한 달로 나누고 남은 일수를 구할 수 있습니다.

Days = days % 30

알고리즘

다음은 일수를 개월 수와 일수로 변환하는 알고리즘입니다.

1단계: 시작
2단계: month와 days 변수 선언
3단계: 총 일수 입력받기
4단계: 개월 수 계산
    months = days / 30
5단계: 남은 일수 계산
    days = days % 30
6단계: 개월 수 출력
7단계: 일수 출력

C 프로그램 코드

다음은 일수를 개월 수와 일수로 변환하는 C 프로그램의 전체 소스 코드입니다.

#include<stdio.h>
main (){
   int months, days ;
   printf("Enter days\n") ;
   scanf("%d", &days) ;
   months = days / 30 ;
   days = days % 30 ;
   printf("Months = %d Days = %d", months, days) ;
}

실행 결과

위 프로그램을 컴파일하여 실행하면 다음과 같은 결과를 확인할 수 있습니다.

Enter days
456
Months = 15 Days = 6
Enter days
145
Months = 4 Days = 25

코드 동작 원리

이 프로그램의 핵심은 정수 나눗셈(/)나머지 연산자(%)입니다. C 언어에서 정수형 변수끼리 나눗셈을 하면 소수점 이하는 버려지므로, 456 / 30의 결과는 15가 됩니다. 이 값이 바로 개월 수입니다. 이어서 456 % 30을 계산하면 6이 남는데, 이것이 마지막 달의 남은 일수가 됩니다. 이처럼 두 가지 산술 연산만으로 간단하게 일수를 개월 단위로 변환할 수 있습니다.