Вычисление гипотенузы в C

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

Введение

В этом лабораторном практикуме вы научитесь вычислять гипотенузу прямоугольного треугольника с помощью языка программирования C. Практикум охватывает пошаговый процесс ввода длин двух катетов и последующего вычисления гипотенузы по теореме Пифагора. К концу практикума вы получите прочное понимание того, как выполнять тригонометрические вычисления на языке C.

Практикум начинается с руководства по вводу длин двух катетов прямоугольного треугольника. Затем вы воспользуетесь теоремой Пифагора, которая утверждает, что квадрат гипотенузы равен сумме квадратов двух других сторон, для вычисления гипотенузы. Наконец, вы научитесь выводить вычисленную гипотенузу.

Чтение Двух Катетов Прямоугольного Треугольника

В этом шаге вы узнаете, как считать длины двух катетов прямоугольного треугольника в программе на языке C. Мы создадим простую программу, которая запрашивает у пользователя длины катетов треугольника.

Сначала перейдите в директорию проекта и создайте новый файл C:

cd ~/project
nano hypotenuse.c

Теперь добавьте следующий код для чтения длин двух катетов прямоугольного треугольника:

#include <stdio.h>

int main() {
    float leg1, leg2;

    printf("Enter the length of the first leg: ");
    scanf("%f", &leg1);

    printf("Enter the length of the second leg: ");
    scanf("%f", &leg2);

    printf("First leg: %.2f\n", leg1);
    printf("Second leg: %.2f\n", leg2);

    return 0;
}

Давайте разберем код:

  • Мы используем тип данных float, чтобы иметь возможность вводить десятичные значения длин катетов.
  • printf() используется для запроса ввода у пользователя.
  • scanf() считывает введенные данные пользователя и сохраняет их в переменные leg1 и leg2.
  • Затем мы выводим введенные длины катетов, чтобы подтвердить ввод.

Компилируем программу:

gcc hypotenuse.c -o hypotenuse

Пример вывода при запуске программы:

Enter the length of the first leg: 3
Enter the length of the second leg: 4
First leg: 3.00
Second leg: 4.00

Использование теоремы Пифагора c = sqrt(a² + b²)

В этом шаге вы измените предыдущую программу, чтобы вычислить гипотенузу по теореме Пифагора. Мы будем использовать функцию sqrt() из математической библиотеки для вычисления квадратного корня.

Откройте существующий файл и обновите код:

cd ~/project
nano hypotenuse.c

Замените предыдущий код следующим:

#include <stdio.h>
#include <math.h>

int main() {
    float leg1, leg2, hypotenuse;

    printf("Enter the length of the first leg: ");
    scanf("%f", &leg1);

    printf("Enter the length of the second leg: ");
    scanf("%f", &leg2);

    // Вычисление гипотенузы по теореме Пифагора
    hypotenuse = sqrt(leg1 * leg1 + leg2 * leg2);

    printf("First leg: %.2f\n", leg1);
    printf("Second leg: %.2f\n", leg2);
    printf("Hypotenuse: %.2f\n", hypotenuse);

    return 0;
}

Компилируйте программу, подключив математическую библиотеку:

gcc hypotenuse.c -o hypotenuse -lm

Пример вывода при запуске программы:

Enter the length of the first leg: 3
Enter the length of the second leg: 4
First leg: 3.00
Second leg: 4.00
Hypotenuse: 5.00

Ключевые моменты кода:

  • #include <math.h> подключает математическую библиотеку для функции sqrt()
  • sqrt(leg1 * leg1 + leg2 * leg2) вычисляет гипотенузу
  • Флаг -lm используется во время компиляции для подключения математической библиотеки

Вывод Гипотенузы

В этом шаге вы улучшите предыдущую программу, чтобы получить более структурированный и удобный для пользователя вывод результата вычисления гипотенузы.

Откройте существующий файл и обновите код:

cd ~/project
nano hypotenuse.c

Измените код для улучшения форматирования вывода:

#include <stdio.h>
#include <math.h>

int main() {
    float leg1, leg2, hypotenuse;

    printf("Калькулятор гипотенузы прямоугольного треугольника\n");
    printf("------------------------------------------------\n");

    printf("Введите длину первого катета: ");
    scanf("%f", &leg1);

    printf("Введите длину второго катета: ");
    scanf("%f", &leg2);

    // Вычисление гипотенузы по теореме Пифагора
    hypotenuse = sqrt(leg1 * leg1 + leg2 * leg2);

    // Вывод отформатированных результатов
    printf("\nИзмерения треугольника:\n");
    printf("Первый катет:   %.2f\n", leg1);
    printf("Второй катет:  %.2f\n", leg2);
    printf("Гипотенуза:  %.2f\n", hypotenuse);

    // Дополнительные детали вычисления
    printf("\nДетали вычисления:\n");
    printf("Формула: c = √(a² + b²)\n");
    printf("        = √(%.2f² + %.2f²)\n", leg1, leg2);
    printf("        = √(%.2f + %.2f)\n", leg1 * leg1, leg2 * leg2);
    printf("        = %.2f\n", hypotenuse);

    return 0;
}

Компилируйте программу:

gcc hypotenuse.c -o hypotenuse -lm

Запустите программу и посмотрите подробный вывод:

./hypotenuse

Пример вывода:

Калькулятор гипотенузы прямоугольного треугольника
------------------------------------------------
Введите длину первого катета: 3
Введите длину второго катета: 4

Измерения треугольника:
Первый катет:   3.00
Второй катет:  4.00
Гипотенуза:  5.00

Детали вычисления:
Формула: c = √(a² + b²)
        = √(3.00² + 4.00²)
        = √(9.00 + 16.00)
        = 5.00

Основные улучшения:

  • Добавлено описательные заголовки.
  • Отформатированный вывод с выровненными столбцами.
  • Включены пошаговые детали вычисления.
  • Улучшена читаемость для пользователей.

Резюме

В этом лабораторном практикуме вы сначала изучили, как в программе на языке C считывать длины двух катетов прямоугольного треугольника, запрашивая ввод у пользователя и сохраняя значения в переменные. Затем вы использовали теорему Пифагора, которая утверждает, что квадрат гипотенузы равен сумме квадратов двух других сторон, для вычисления гипотенузы. Программа использует функцию sqrt() из математической библиотеки для вычисления квадратного корня и определения длины гипотенузы.