모두CBT

주어진 연도가 윤년인지를 판단하고자 한다. 연도가 400으로 나누어 떨… | [계리직 컴퓨터일반] 08년 1회차 기출문제 상세 페이지

1[계리직 컴퓨터일반] 08년 1회차
주어진 연도가 윤년인지를 판단하고자 한다. 연도가 400으로 나누어 떨어지거나, 4로 나누어떨어지면서 100으로 나누어 떨어지지 않은면 윤년이다. C언어에서 윤년을 계산하는 조건식으로 알맞은 것은?
1
연도%4!=0 &&연도%100==0 || 연도%400!=0
2
연도%4==0 &&연도%100!=0 || 연도%400==0
3
연도%4!=0 &&연도%100==0 &&연도%400!=0
4
연도%4==0 &&연도%100!=0 &&연도%400==0
해설

윤년 조건은 (4의 배수이면서 100의 배수가 아님) 또는 400의 배수이므로 연도%4==0 && 연도%100!=0 || 연도%400==0 이 알맞다.

C언어에서 && 가 || 보다 우선순위가 높아 앞의 두 조건이 먼저 묶인 뒤 400의 배수 조건과 OR 로 결합된다.

  • 연도%4!=0 && 연도%100==0 || 연도%400!=0: 앞의 두 조건은 동시에 성립할 수 없어 사실상 400의 배수가 아닌 해를 고르므로 2001년 같은 평년까지 참이 되어 틀린다.
  • 연도%4!=0 && 연도%100==0 && 연도%400!=0: 4의 배수가 아니면서 100의 배수인 수는 없으므로 항상 거짓이다.
  • 연도%4==0 && 연도%100!=0 && 연도%400==0: 400의 배수이면서 100의 배수가 아니어야 하므로 성립하는 연도가 없어 틀린다.

오류나 개정된 내용이 보이면 알려주세요

이어서 풀어보기

[계리직 컴퓨터일반] 08년 1회차 20문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요계리직 컴퓨터일반 기출문제 암기장 전체 보기