본문 바로가기
C언어

[C언어] 연도를 입력받고, 해당 연도가 윤년인지 평년인지를 판단하는 프로그램을 작성하시오. 논리연산자 관계연산자만을 이용

by 이얏호이야호 2020. 4. 7.

if문을 사용하지 않고 논리연산자 관계연산자만을 이용하여 윤년여부를 판단하는 프로그램을 작성하세요!

윤년의 경우 L을 평년의 경우 C를 출력하면 됩니다

물론 단번에 코드를 본다면 좋기야 하겠지만 장기적으로 봤을때

혼자풀어보기 -> 힌트 -> 코드보기 순으로 공부하시는게 실력 향상에 큰 도움이 됩니다!

힌트를 보고 천천히 생각을 거쳐서 문제를 풀어보시고

답안을 확인해보세요

코드힌트

더보기

조건 윤년일 경우에는 L을, 평년일 경우에는 C를 출력하여, 반드시 조건 연산자를 하용하시오

 

논리연산자
> , <  부등호를 나타냅니다 

a > b a가 더 크다

a < b b가 더 크다

a && b a와 b모두(둘 중 모두를 만족해야 ok)

a || b a 이거나 b이거나(둘 중하나만 만족해도 ok)

관계연산자
조건? 참인경우 : 거짓인경우;

조건을 만족하는 경우는 a의 실행문이 시작되고

조건을 만족하지 못하는 경우 b의 실행문이 시작되는 시스템입니다.

윤년의 조건

4로 나누어 떨어짐과 동시에 && 100으로 나누어떨어지지 않는수이거나  윤년인400으로 나누어 떨어지는 수는 윤년그 이외에는 윤년이 아니라고 보면됩니다.

기본틀입니다 작성해보시고 정답코드를 확인해주세요!

2016윤년
2016윤년
2017평년
2017평년
#include<stdio.h>

int main(){

 int input;

 scanf("%d",&input);
 

 //4로 나누어 떨어짐과 동시에 && 100으로 나누어떨어지지 않는수이거나  윤년인400으로 나누어 떨어지는 수는 윤년인 L이 출력되게 하였습니다.


 //그 외의 평년은 C가 출력됩니다.

}

 

 

 

 

답안코드

더보기
결과1
2016윤년
결과2
2017평년
#include<stdio.h>

int main(){

 int input;

 scanf("%d",&input);

 (((input%4==0)&&(input%100!=0))||(input%400==0))?printf("L"):printf("C");

 //4로 나누어 떨어짐과 동시에 && 100으로 나누어떨어지지 않는수이거나  윤년인400으로 나누어 떨어지는 수는 윤년인 L이 출력되게 하였습니다.


 //그 외의 평년은 C가 출력됩니다.

}

 

 

 

 

 

 

더 많은 C언어 글이 궁금하다면?

https://chuinggun.tistory.com/category/C%EC%96%B8%EC%96%B4

 

 

댓글