[C언어 코드업 문제풀이] CodeUp1162 : 당신의 사주를 봐 드립니다 1
ET의 공부/C언어 연습문제[ 코드업 ]2020. 1. 3. 22:28
코드업 1162번 당신의 사주를 봐 드립니다 문제 풀이 해답입니다.
1. 문제 설명
태어난 해, 월, 일을 입력받아 사주팔자를 보는 프로그램을 작성하시오.
사주를 보는 방법)
세 수(년,월,일)가 주어지면, (년 - 월 + 일)에 마지막 숫자가 0이면 "대박"을 출력, 그렇지 않으면 "그럭저럭"을 출력하세요.
2. 입력
세 정수가 입력으로 주어진다. 순서대로 년도, 월, 일 이다.
3. 출력
년도 - 월 + 일의 마지막 숫자가 0이면 "대박"을 , 그렇지 않으면 "그럭저럭"을 출력하시오.
4. 입력 예시
1902 2 10
5. 출력 예시
대박
6. 문제 풀이
마지막자리가 0인지 알아내려면...?
#include <stdio.h>
int main (void)
{
//년,월,일, 합 정수 선언
int year,mon,day, sum;
scanf("%d %d %d ",&year , &mon, &day);
sum = year - mon + day; //사주는 년 - 월+일
if( !(sum%=10) ){printf("대박");} //10으로 나눈값이 0이라면 1로(참) 변환, 반대면 0으로 거짓이됨
else {printf("그럭저럭");}// 아니면( 0 이 아니면)
return 0;
}
|
10으로 나눈 나머지가 0이라면 마지막 숫자는 0입니다.
예)
2001 %10 = 1
2023 % 10 = 3
2000 % 10 = 0
!(sum%=10) , 마지막 숫자가 0이면 대박이지만 if문은 참에서만 동작합니다. (sum%=10) 은 0이므로 참으로
만들어 주기위해 NOT 연산자 !을 사용하였습니다.
(sum%10 == 0) 으로 사용하셔도 무방합니다.
'ET의 공부 > C언어 연습문제[ 코드업 ]' 카테고리의 다른 글
[C언어 코드업 문제풀이] CodeUp 1164 : 터널 통과하기 1 (0) | 2020.01.03 |
---|---|
[C언어 코드업 문제풀이] CodeUp 1163 : 당신의 사주를 봐 드립니다 2 (0) | 2020.01.03 |
[C언어 코드업 문제풀이] CodeUp 1161 : 홀수와 짝수 그리고 더하기 (0) | 2020.01.03 |
[C언어 코드업 문제풀이] CodeUp 1160 : 아르바이트 가는 날 (0) | 2020.01.03 |
[C언어 코드업 문제풀이] CodeUp 1159 : 특별한 공 던지기 3 (0) | 2019.12.29 |
댓글()