C/If

[C] If문을 활용해서 입력받은 연도가 윤년인지 평년인지 판단하기

U__q 2022. 9. 14. 19:09
728x90

문제

입력받은 연도가 윤년인지 평년인지 판단하기 (if문 사용)

실행 결과 예시

연도를 입력하시오 : 2000
윤년입니다.

소스 코드

#include <stdio.h>

int main(void) {
	int year;
	printf("연도를 입력하시오 : ");
	scanf_s("%d", &year);
	if ((year % 4 == 0 || year % 100 != 0)&&(year%400==0))
		printf("윤년입니다.");
	else
		printf("평년입니다.");
		return 0;
}

소스 코드 풀이

	int year;
	printf("연도를 입력하시오 : ");
	scanf_s("%d", &year);

연도를 입력받아야 하기 때문에 int year을 잡아주고, scanf를 활용해서 연도를 입력받는다.

	if ((year % 4 == 0 || year % 100 != 0)&&(year%400==0))
		printf("윤년입니다.");
	else
		printf("평년입니다.");

조건문 중 if문을 사용해서 입력받은 연도가 4의 배수이면서 100의 배수가 아닐 때 윤년이며 400의 배수일 때도 윤년이기 때문에 ||(and)를 두 조건을 이어준 뒤, if문 조건에 넣어준다.

if문에서 일 때 "윤년입니다."가 출력되고, 참이 아닐 때 "평년입니다."가 출력된다.

실행 결과

연도를 입력하시오 : 2023
평년입니다.
728x90