본문 바로가기

스터디/코딩

[ 코딩 도장 : C ] Unit 19. else if를 사용하여 여러 방향으로 분기하기 : 연습문제 / 심사문제

19.4 연습문제 : if, else if, else를 모두 사용하기

문제) 다음 소스 코드를 완성하여 c가 출력되게 만드세요.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main()
{
    char c1 = 'c';

    if (c1 == 'a')
        printf("a\n");
    else if (c1 == 'b')
        printf("b\n");
    else if (c1 == 'c')
        printf("c\n");
    else if (c1 == 'd')
        printf("d\n");
    else
        printf("x\n");

    return 0;
}

 

 

19.5 심사문제: 교통카드 시스템 만들기

문제) 표준 입력으로 나이(만 나이)가 입력됩니다. 교통카드 시스템에서 시내버스 요금은 다음과 같으며 각 나이에 맞게 요금을 차감한 뒤 잔액이 출력되게 만드세요(if, else if 사용). 현재 교통카드에는 10,000원이 들어있습니다.

  • 어린이(초등학생, 만 7세 이상 12세 이하): 450원
  • 청소년(중∙고등학생, 만 13세 이상 18세 이하): 720원
  • 어른(일반, 만 19세 이상): 1,200원
#define _CRT_SECURE_NO_WARNINGS 
#include <stdio.h>

int main()
{
    int balance = 10000;    // 교통카드 잔액
    int age;

    scanf("%d", &age);

    if (7 <= age && age <= 12)
    {
        balance = balance - 450;
    }
    else if (13 <= age && age <= 18)
    {
        balance = balance - 720;
    }
    else if (19 <= age)
    {
        balance = balance - 1200;
    }
    printf("%d\n", balance);

    return 0;
}