[정답] 39. 조건문(if else)

◈ 기본 연습
1. 두 개의 정수를 입력받은 후에 큰 수를 출력하는 프로그램을 작성하시오.
답:

//두 개의 정수를 입력받은 후에 큰 수를 출력하는 프로그램
#include <stdio.h>
int main(void)
{
    int a, b;
    printf("두 개의 정수 입력:");
    scanf_s("%d%d", &a, &b);
    if (a > b)
    {
        printf("두 수 중에 큰 수는 %d\n", a);
    }
    else
    {
        printf("두 수 중에 큰 수는 %d\n", b);
    }
    return 0;
}

2. 0~100 사이의 정수를 입력받은 후에 90~100일 때 A, 80~89일 때 B, 70~79일 때 C,
60~69일 때 D, 50~59일 때 F, 그 외에는 NA를 출력하는 프로그램을 작성하시오.
답:

//성적을 입력받고 학점을 부여하는 프로그램
//조건문 사용
#include <stdio.h>
int main(void)
{
    int score;
    printf("점수 입력(0~100):");
    scanf_s("%d", &score);
    if ((score > 100) || (score < 0))
    {
        printf("NA\n");
    }
    else if (score >= 90)
    {
        printf("A\n");
    }
    else if (score >= 80)
    {
        printf("B\n");
    }
    else if (score >= 70)
    {
        printf("C\n");
    }
    else if (score >= 60)
    {
        printf("D\n");
    }
    else 
    {
        printf("F\n");
    }     
    return 0;
} 

3. 두 개의 정수를 입력받은 후에 작은 수가 큰 수의 약수인지 확인하는 프로그램을 작성하시오.
답:

//두 개의 정수를 입력받은 후에 작은 수가 큰 수의 약수인지 확인하는 프로그램
#include <stdio.h>
int main(void)
{
    int a, b;
    printf("두 개의 정수 입력:");
    scanf_s("%d%d", &a, &b);
    if (a < b)//b가 더 크면
    {
        //b와 a를 교환
        int temp = a;
        a = b;
        b = temp;
    }
    if (a%b)//큰 수를 작은 수로 나누어서 나머지가 있을 때
    {
        printf("%d는 %d의 약수가 아닙니다.\n", a, b);
    }
    else
    {
        printf("%d는 %d의 약수입니다.\n", a, b);
    }
    return 0;
}

4. 세 개의 정수를 입력 받은 후에 크기가 큰 순서부터 출력하는 프로그램을 작성하시오.

답:

//세 개의 정수를 입력받은 후 크기가 큰 순서부터 출력
//제어문 이용
#include <stdio.h>
int main(void)
{
    int a, b, c;
    printf("세 개의 정수 입력:");
    scanf_s("%d%d%d", &a, &b,& c);
    if (a > b)//a>b
    {
        if (a > c)//a>b, a>c
        {
            if (b > c)//a>b>c
            {
                printf("%d %d %d\n", a, b, c);
            }
            else//a>c>=b
            {
                printf("%d %d %d\n", a, c, b);
            }
        }
        else//c>=a>b
        {
            printf("%d %d %d\n", c, a, b);
        }
    }
    else//b>=a
    {
        if (b > c)//b>=a, b>c
        {
            if (a > c)//b>=a>c
            {
                printf("%d %d %d\n", b, a, c);
            }
            else//b>=c>=a
            {
                printf("%d %d %d\n", b, c, a);
            }
        }
        else//c>=b>=a
        {
            printf("%d %d %d\n", c, b, a);
        }
    }
    return 0;
}