Finden der zweitgrößten Zahl in C

CBeginner
Jetzt üben

Einführung

In diesem Lab werden wir lernen, wie man in der Programmiersprache C die zweitgrößte Zahl aus drei vom Benutzer eingegebenen Zahlen findet. Wir werden einen Algorithmus verwenden, der verschachtelte if-else-Schleifen nutzt, um die zweitgrößte Zahl zu ermitteln.

Hinweis: Sie müssen die Datei ~/project/main.c selbst erstellen, um das Programmieren zu üben und zu lernen, wie man sie mit gcc kompiliert und ausführt.

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

Drei Variablen deklarieren

Der erste Schritt besteht darin, drei Variablen vom Datentyp double zu deklarieren. Dies sind die drei Zahlen, die wir als Eingabe vom Benutzer erhalten werden.

#include <stdio.h>

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

    // rest of the code
}

Eingabe vom Benutzer erhalten

Der nächste Schritt besteht darin, Eingaben vom Benutzer für die drei im vorherigen Schritt deklarierten Variablen zu erhalten. Wir werden die Funktion scanf verwenden, um die Eingabe zu empfangen.

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

Die zweitgrößte Zahl finden

Jetzt finden wir die zweitgrößte Zahl mithilfe von verschachtelten if-else-Schleifen.

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

Das Programm vervollständigen

Lassen Sie uns nun all den Code, den wir bisher geschrieben haben, zusammenfügen, um das Programm zu vervollständigen.

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

Zusammenfassung

In diesem Lab (Praktikum) haben wir gelernt, wie man die zweitgrößte Zahl aus drei vom Benutzer eingegebenen Zahlen mithilfe von verschachtelten if-else-Schleifen findet. Wir hoffen, dass Ihnen dieses Lab geholfen hat, diesen Algorithmus und seine Implementierung in der Programmiersprache C zu verstehen.