Нахождение второго по величине числа на языке C

CBeginner
Практиковаться сейчас

Введение

В этом практическом занятии (лабораторной работе) мы научимся находить второе по величине число из трех чисел, введенных пользователем, на языке программирования C. Мы будем использовать алгоритм, который применяет вложенные операторы if-else для нахождения второго по величине числа.

Примечание: Вам нужно самостоятельно создать файл ~/project/main.c, чтобы практиковаться в программировании и узнать, как компилировать и запускать его с помощью gcc.

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.