표준 입력으로 나이(만 나이)가 입력됩니다. 교통카드 시스템에서 시내버스 요금은 다음과 같으며 각 나이에 맞게 요금을 차감한 뒤 잔액이 출력되게 만드세요(if, else if 사용). 현재 교통카드에는 10,000원이 들어있습니다.
- 어린이(초등학생, 만 7세 이상 12세 이하): 450원
- 청소년(중,고등학생, 만 13세 이상 18세 이하): 720원
- 어른(일반, 만 19세 이상): 1,200원
표준 입력
20
표준 출력
8800
judge_if_elseif_else.c
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int balance = 10000;
int age;
scanf("%d", &age);
_____________________________
_____________________________
_____________________________
_____________________________
_____________________________
_____________________________
_____________________________
_____________________________
_____________________________
_____________________________
_____________________________
_____________________________
printf("%d\n", balance);
return 0;
}
정답
if (age >= 7 && age <= 12)
{
balance -= 450;
}
else if (age >= 13 && age <= 18)
{
balance -= 720;
}
else
balance -= 1200;
풀이
어린이의 나이가 만 7세 이상 12세 이하이므로 if문으로 조건식을 age >= 7 && age <= 12로 만들고, 청소년의 나이를 else if문으로
age >= 13 && age <= 18로 만든 다음, 마지막으로 19세 이상은 else문으로 만든다. 나이를 입력했을 때 그 나이에 맞게 잔액을 차감해야 하므로 각 조건식에 나이에 해당하는 금액을 차감시키는 코드를 만들어주면 문제를 해결할 수 있다.
아쉬운 점
처음으로 문제에 대한 아쉬운 점을 이야기 하는데, 이 코드는 치명적인 결함(?)을 갖고 있다. 만약에 만 나이가 6살 이하면 성인 요금을
내야하는 치명적인 결함을 갖고 있다. 세상 빡빡해서 애기 데리고 시내버스 타기는 힘든 것이 이 문제의 아쉬운 점이다.
'C' 카테고리의 다른 글
[C] C언어 코딩 도장 20.9 심사문제: 삼항 연산자 사용하기 (0) | 2022.04.26 |
---|---|
[C] C언어 코딩 도장 20.8 심사문제: 비교 연산자 사용하기 (0) | 2022.04.26 |
[C] C언어 코딩 도장 18.10 심사문제: 합격 여부 판단하기 (0) | 2022.04.26 |
[C] C언어 코딩 도장 18.9 심사문제: else 사용하기 (0) | 2022.04.26 |
[C] C언어 코딩 도장 17.8 심사문제: 청소년 콘텐츠 관람 제한하기 (0) | 2022.04.26 |