[C언어 소스] 년도와 일수 입력받아 시각 출력
시각(년도, 일수)
월별 일수:={ 31,28,31,30,31,30,31,31,30,31,30,31};
조건(year is 윤년)
2월 달 일수:=29
반복(일수>월별일수[달])
일수:= 일수 - 월별일수[달]
시각 출력
소스코드
//7. 년도와 일수 입력받아 시각 출력
#include <stdio.h>
void date(int year, int day);//년도와 일수를 입력하면 년월일 출력
int main(void)
{
int year, day;
printf("년도와 일수 입력(예:2016 102): ");
scanf_s("%d %d", &year, &day);
date(year, day); //year와 day를 입력인자로 전달하여 일 수를 출력
return 0;
}
void date(int year, int day)
{
int mdays[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
int month;
int mday = day;//mday를 day로 설정
if ((year % 4 == 0) && ((year % 100 != 0) || (year % 400 == 0)))//윤년 판단
{
mdays[1] = 29;//2월달의 날 수를 29로 설정
}
for (month = 0; mday>mdays[month]; month++)//mday가 mdays[month]보다 크면
{
mday -= mdays[month];//mday에 mdays[month]를 빼줍니다.
}
//month는 mdays의 인덱스로 사용해서 실제 출력할 때는 1을더해서 출력합니다.
printf("%d년도의 %d번째 날은 %d월 %d일입니다.\n", year, day, month + 1, mday);
}
'언어 자료구조 알고리즘 > C언어 예제' 카테고리의 다른 글
[C언어 소스] 문자열 복사 함수 만들기 (0) | 2016.04.03 |
---|---|
[C언어 소스] 부분 문자열 비교 함수 만들기 (0) | 2016.04.03 |
[C언어 소스] 문자열 비교 함수 만들기 (0) | 2016.04.03 |
[C언어 소스] 문자열 길이 계산 함수 만들기 (0) | 2016.04.03 |
[C언어 소스] 1월 1일 요일 입력받아 달력 출력 (2) | 2016.04.03 |
[C언어 소스] 속이 빈 삼각형 출력 (0) | 2016.04.03 |
[C언어 소스] 산봉우리 출력 (0) | 2016.04.03 |
[C언어 소스] 다이아몬드 출력 (0) | 2016.04.03 |
[C언어 소스] 역삼각형 출력 (0) | 2016.04.03 |
[C언어 소스] 삼각형 출력 - 반복문 연습 (0) | 2016.04.03 |