c/자습

조건문(쉽게 풀어쓴 C언어 EXPRESS)

지트리아 2022. 12. 29. 22:20

용어정리

 

 

 

 

본문정리

제어문

제어문에는 조건문과 반복문이 있다.

제어 구조에는 순차 구조, 선택 구조, 반복 구조가 있다.

 

if 문

복합문은 블록이라고도 하며 단일문이 여러 문장으로 구성되어 있는 것을 의미한다.

 

if - else 문

 

다중 if 문

if는 많이 들어있는 한편 else가 한번만 들어있을 수 있다. 이때는 가까운 if에 매치된다.  

switch 문

default, break가 들어가야 함을 잊으면 안된다. 또한 제어식의 값은 반드시 정수값으로 계산되어야 한다.

 

goto 문

쓰지말자

 

 

 

본문제

Q1. 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) {
    char c;
    printf("문자를 입력하시오: ");
    scanf("%c", &c);

    switch (c) {
        case 'a':
        case 'e':
        case 'i':
        case 'o':
        case 'u':
            printf("모음입니다.");
            break;
        default:
            printf("자음입니다.");
            break;
    }

    return 0;
}

 

Q2. 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) {
    int a, b;

    printf("정수를 입력하시오: ");
    scanf("%d", &a);
    printf("정수를 입력하시오: ");
    scanf("%d", &b);

    if (a >= b) {
        if (0 == a % b) {
            printf("약수입니다.");
        }
        else {
            printf("약수가 아닙니다.");
        }
    }
    else if (a < b) {
        if (0 == b % a) {
            printf("약수입니다.");
        }
        else {
            printf("약수가 아닙니다.");
        }
    }

    return 0;
}

 

Q3. 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) {
    int a, b, c;
    printf("3개의 정수를 입력하시오:");
    scanf("%d%d%d", &a, &b, &c);

    if (a <= b && a <= c) {
        printf("제일 작은 정수는 %d입니다", a);
    }
    else if (b <= a && b <= c) {
        printf("제일 작은 정수는 %d입니다", b);
    }
    else if (c <= a && c <= b) {
        printf("제일 작은 정수는 %d입니다", c);
    }

    return 0;
}

 

Q4. 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <Math.h>
#include <stdbool.h>

int main(void) {
    int a, b;

    while (true) {
        printf("\n선택하시오(1: 가위 2: 바위 3: 보)");
        scanf("%d", &a);

        b = rand() % 3 + 1;
        if (a == 5) {
            break;
        }
        if (b == 1) {
            switch (a) {
            case 1:
                printf("비겼습니다.");
                break;
            case 2:
                printf("이겼습니다.");
                break;
            case 3:
                printf("졌습니다.");
                break;
            }
        }
        else if (b == 2) {
            switch (a) {
            case 1:
                printf("졌습니다");
                break;
            case 2:
                printf("비겼습니다.");
                break;
            case 3:
                printf("이겼습니다.");
                break;
            }
        }
        else if (b == 3) {
            switch (a) {
            case 1:
                printf("이겼습니다.");
                break;
            case 2:
                printf("졌습니다.");
                break;
            case 3:
                printf("비겼습니다.");
                break;
            }
        }
        else {
            printf("오류 발생");
        }
    }
    return 0;
}

 

Q5. 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) {
    int a, b;

    printf("키를 입력하시오(cm): ");
    scanf("%d", &a);
    printf("나이를 입력하시오: ");
    scanf("%d", &b);
    if (a >= 140 && b >= 10) {
        printf("타도 좋습니다.");
    }
    else {
        printf("죄송합니다.");
    }

    return 0;
}

 

Q6.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) {
    int a;

    printf("월번호를 입력하시오: ");
    scanf("%d", &a);

    switch (a) {
    case 1:
        printf("Jan");
        break;
    case 2:
        printf("Feb");
        break;
    case 3:
        printf("Mar");
        break;
    case 4:
        printf("Apr");
        break;
    case 5:
        printf("May");
        break;
    case 6:
        printf("June");
        break;
    case 7:
        printf("July");
        break;
    case 8:
        printf("Aug");
        break;
    case 9:
        printf("Sep");
        break;
    case 10:
        printf("Oct");
        break;
    case 11:
        printf("Nov");
        break;
    case 12:
        printf("Dec");
        break;
    }

    return 0;
}

 

Q7.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) {
    int a, b;

    printf("체중과 키를 입력하세요: ");
    scanf("%d %d", &a, &b);

    if (a > (b - 100) * 0.9) {
        printf("과체중입니다.");
    }
    else if (a == (b - 100) * 0.9) {
        printf("표준입니다.");
    }
    else {
        printf("저체중입니다.");
    }

    return 0;
}

 

Q8.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) {
    int a, b;

    printf("현재 시간과 나이를 입력하시오(시간, 나이): ");
    scanf("%d %d", &a, &b);

    if (a >= 17 && a < 24) {
        printf("요금은 10000입니다.");
    }
    else if (a > 0 && a < 17 || a == 24) {
        if (b >= 13 && b < 65) {
            printf("요금은 34000입니다.");
        }
        else if (b >= 3 && b <= 12 || b >= 65) {
            printf("요금은 25000입니다.");
        }
    }

    return 0;
}

 

Q9.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) {
    float x;
    printf("x의 값을 입력하시오: ");
    scanf("%f", &x);

    if (x <= 0) {
        printf("f(x)의 값은 %f", x * x - 9 * x + 2);
    }
    else if (x > 0) {
        printf("f(x)의 값은 %f", 7 * x + 2);
    }

    return 0;
}

 

Q10.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) {
    float x, y;
    printf("좌표(x y): ");
    scanf("%f %f", &x, &y);
    if (x > 0 && y > 0) {
        printf("1사분면");
    }
    else if (x < 0 && y > 0) {
        printf("2사분면");
    }
    else if (x < 0 && y < 0) {
        printf("3사분면");
    }
    else if (x > 0 && y < 0) {
        printf("4사분면");
    }
    else {
        printf("축 위에 있음");
    }
    return 0;
}

 

Q11.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) {
    char c;
    printf("문자를 입력하시오: ");
    scanf("%c", &c);

    if (c == 'R' || c == 'r') {
        printf("Rectangle");
    }
    else if (c == 't' || c == 'T') {
        printf("Triangle");
    }
    else if (c == 'C' || c == 'c') {
        printf("Circle");
    }
    else {
        printf("Unknown");
    }

    return 0;
}