C 언어에서 두 번째로 큰 숫자 찾기

CBeginner
지금 연습하기

소개

이 랩에서는 C 프로그래밍 언어를 사용하여 사용자로부터 입력받은 세 개의 숫자 중 두 번째로 큰 숫자를 찾는 방법을 배웁니다. 중첩된 if-else 루프를 활용하는 알고리즘을 사용하여 두 번째로 큰 숫자를 찾을 것입니다.

참고: 코딩을 연습하고 gcc 를 사용하여 컴파일하고 실행하는 방법을 배우려면 직접 ~/project/main.c 파일을 생성해야 합니다.

cd ~/project
## create main.c
touch main.c
## compile main.c
gcc main.c -o main
## run main
./main

세 개의 변수 선언

첫 번째 단계는 double 데이터 타입의 세 개의 변수를 선언하는 것입니다. 이 변수들은 사용자로부터 입력받을 세 개의 숫자가 됩니다.

#include <stdio.h>

int main()
{
    double num1, num2, num3;

    // rest of the code
}

사용자로부터 입력 받기

다음 단계는 이전 단계에서 선언한 세 개의 변수에 대한 사용자 입력을 받는 것입니다. scanf 함수를 사용하여 입력을 받습니다.

printf("Enter three numbers: ");
scanf("%lf %lf %lf", &num1, &num2, &num3);

두 번째로 큰 숫자 찾기

이제 중첩된 if-else 루프를 사용하여 두 번째로 큰 숫자를 찾아보겠습니다.

if (num1 > num2 && num1 > num3)
{
    if (num2 > num3)
    {
        printf("Second largest number: %.2lf", num2);
    }
    else
    {
        printf("Second largest number: %.2lf", num3);
    }
}
else if (num2 > num1 && num2 > num3)
{
    if (num1 > num3)
    {
        printf("Second largest number: %.2lf", num1);
    }
    else
    {
        printf("Second largest number: %.2lf", num3);
    }
}
else
{
    if (num1 > num2)
    {
        printf("Second largest number: %.2lf", num1);
    }
    else
    {
        printf("Second largest number: %.2lf", num2);
    }
}

프로그램 완성하기

지금까지 작성한 모든 코드를 함께 묶어 프로그램을 완성해 보겠습니다.

#include <stdio.h>

int main()
{
    double num1, num2, num3;

    printf("Enter three numbers: ");
    scanf("%lf %lf %lf", &num1, &num2, &num3);

    if (num1 > num2 && num1 > num3)
    {
        if (num2 > num3)
        {
            printf("Second largest number: %.2lf", num2);
        }
        else
        {
            printf("Second largest number: %.2lf", num3);
        }
    }
    else if (num2 > num1 && num2 > num3)
    {
        if (num1 > num3)
        {
            printf("Second largest number: %.2lf", num1);
        }
        else
        {
            printf("Second largest number: %.2lf", num3);
        }
    }
    else
    {
        if (num1 > num2)
        {
            printf("Second largest number: %.2lf", num1);
        }
        else
        {
            printf("Second largest number: %.2lf", num2);
        }
    }

    return 0;
}

요약

이 랩에서는 중첩된 if-else 루프를 사용하여 사용자로부터 입력받은 세 개의 숫자 중 두 번째로 큰 숫자를 찾는 방법을 배웠습니다. 이 랩이 이 알고리즘과 C 프로그래밍 언어에서 이를 구현하는 방법을 이해하는 데 도움이 되었기를 바랍니다.