C/예습

[2025.03.09] (예습) if~else문의 활용_연습문제

polibo 2025. 3. 9. 18:51

★문제 1

  • 1이상 100미만의 정수 중에서 7의 배수와 9의 배수를 출력하는 프로그램을 작성해 보자. 
  • 단! 7의 배수이면서 동시에 9의 배수인 정수는 한번만 출력해야 한다.
// 문제 1
#include <stdio.h>

int main()
{
    int num = 1;
    
    for(num ; num <= 100 ; num++)
    {
        if(num % 7 == 0 || num % 9 == 0)
        {
            printf("7의 배수 또는 9의 배수 : %d\n", num);
        }
    }
    return 0;
}

.

.

.

 

 

 

★문제 2

  • 두 개의 정수를 입력 받아서 두 수의 차를 출력하는 프로그램을 구현해 보자.
  • 단, 무조건 큰 수에서 작은 수를 뺀 결과를 출력해야 한다.
  • 예를 들어서 입력된 두 수가 순서에 상관없이 12와 5라면 7이 출력되어야 하고, 입력된 두 수가 순서에 상관없이 4와 16이라면 12가 출력되어야 한다.
  • 즉, 출력 결과는 무조건 0 이상이 되어야 한다.
// 문제 2
#include <stdio.h>

int main()
{
    int num_1, num_2;

    printf("두 개의 정수를 입력하세요. : ");
    scanf("%d %d", &num_1, &num_2);

    if(num_1 >= num_2)
    {
        printf("%d와 %d의 차 = %d\n", num_1, num_2, num_1 - num_2);
    }
    else
    {
        printf("%d와 %d의 차 = %d\n", num_1, num_2, num_2 - num_1);
    }
    return 0;
}

 

 

 

★문제 3

  • 학생의 전체 평균점수에 대한 학점을 출력하는 프로그램을 작성하자.
  • 학생의 성적이 90점 이상이라면 A, 80점 이상이라면 B, 70점 이상이라면 C, 50점 이상이라면 D 그릐고 그 미만이면 F다!
  • 프로그램 실행 시 순서대로 국어, 영어, 수학의 점수를 입력 받는다.
  • 그리고는 평균을 구한 다음 그 에 적절한 학점을 출력하면 된다.
// 문제 3
#include <stdio.h>

int main()
{
    int score_Kor, score_Eng, score_Math;
    int average;

    printf("국어, 영어, 수학 점수를 입력하세요. : ");
    scanf("%d %d %d", &score_Kor, &score_Eng, &score_Math);

    average = (score_Kor + score_Eng + score_Math) / 3;
    if(average >= 90)
    {
        printf("평균 : %d  ===>  A 학점\n", average);
    }
    else if(average >= 80)
    {
        printf("평균 : %d  ===>  B 학점\n", average);
    }
    else if(average >= 70)
    {
        printf("평균 : %d  ===>  C 학점\n", average);
    }
    else if(average >= 50)
    {
        printf("평균 : %d  ===>  D 학점\n", average);    
    }
    else
    {
        printf("평균 : %d  ===>  F 학점\n", average);    
    }
    return 0;
}

 

 

 

★문제 4

  • 위의 문제 2를 if~else문을 이용해서 해결하였는가?
  • 어떠한 형태로 해결했건 간에 조건 연산자를 이용하는 형태로 프로그램을 변경해 보자.
// 문제 4
#include <stdio.h>

int main()
{
    int num_1, num_2, result;

    printf("두 개의 정수를 입력하세요. : ");
    scanf("%d %d", &num_1, &num_2);

    result = (num_1 >= num_2) ? (num_1 - num_2) : (num_2 - num_1);

    printf("%d와 %d의 차 = %d\n", num_1, num_2, result);

    return 0;
}