Encontrar el segundo número más grande en C

CCBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderemos cómo encontrar el segundo número más grande entre tres números ingresados por el usuario en el lenguaje de programación C. Utilizaremos un algoritmo que emplea bucles if-else anidados para encontrar el segundo número más grande.

Nota: Debes crear el archivo ~/project/main.c por ti mismo para practicar la codificación y aprender cómo compilarlo y ejecutarlo utilizando gcc.

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

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL c(("C")) -.-> c/BasicsGroup(["Basics"]) c(("C")) -.-> c/ControlFlowGroup(["Control Flow"]) c(("C")) -.-> c/UserInteractionGroup(["User Interaction"]) c/BasicsGroup -.-> c/variables("Variables") c/BasicsGroup -.-> c/data_types("Data Types") c/BasicsGroup -.-> c/operators("Operators") c/ControlFlowGroup -.-> c/if_else("If...Else") c/UserInteractionGroup -.-> c/user_input("User Input") c/UserInteractionGroup -.-> c/output("Output") subgraph Lab Skills c/variables -.-> lab-123331{{"Encontrar el segundo número más grande en C"}} c/data_types -.-> lab-123331{{"Encontrar el segundo número más grande en C"}} c/operators -.-> lab-123331{{"Encontrar el segundo número más grande en C"}} c/if_else -.-> lab-123331{{"Encontrar el segundo número más grande en C"}} c/user_input -.-> lab-123331{{"Encontrar el segundo número más grande en C"}} c/output -.-> lab-123331{{"Encontrar el segundo número más grande en C"}} end

Declarar tres variables

El primer paso es declarar tres variables de tipo de dato double. Estos serán los tres números que recibiremos como entrada del usuario.

#include <stdio.h>

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

    // rest of the code
}

Obtener entrada del usuario

El siguiente paso es recibir la entrada del usuario para las tres variables declaradas en el paso anterior. Utilizaremos la función scanf para recibir la entrada.

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

Encontrar el segundo número más grande

Ahora, encontremos el segundo número más grande utilizando bucles if-else anidados.

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);
    }
}

Completar el programa

Vamos a juntar todo el código que hemos escrito hasta ahora para completar el programa.

#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;
}

Resumen

En este laboratorio, aprendimos cómo encontrar el segundo número más grande entre tres números ingresados por el usuario utilizando bucles if-else anidados. Esperamos que este laboratorio te haya ayudado a entender este algoritmo y cómo se puede implementar en el lenguaje de programación C.