Могут ли три числа представлять стороны прямоугольного треугольника? - C (СИ)
Формулировка задачи:
Задача № 2 Составить программу, считывает три ненулевых целых числа, определяет и печатает, могут ли они представлять стороны прямоугольного треугольника.
Решение задачи: «Могут ли три числа представлять стороны прямоугольного треугольника?»
textual
Листинг программы
#include <stdio.h>
int main()
{
int a, b, c;
do {
printf("Input numbers\n");
scanf("%d", &a);
scanf("%d", &b);
scanf("%d", &c);
if ((a == 0) || (b == 0) || (c == 0)) printf("\nIncorrect input...");
} while ((a == 0) || (b == 0) || (c == 0));
if ((a < 0) || (b < 0) || (c < 0)) printf("No");
else {
a *= a;
b *= b;
c *= c;
if ((a == b + c) || (b == a + c) || (c == b + a))
printf("Yes, it's right-angled triangle");
else printf("No");
}
return 0;
}
Объяснение кода листинга программы
В этом коде используется язык программирования C. Список действий:
- Объявляются три переменные типа int: a, b, c. Эти переменные будут использоваться для хранения введенных пользователем чисел.
- Запускается бесконечный цикл do-while. Внутри цикла программа запрашивает у пользователя ввод трех чисел с помощью функции scanf и сохраняет их в переменные a, b, c.
- Если любое из введенных чисел равно нулю, то программа выводит сообщение об ошибке и продолжает цикл.
- Когда все числа корректны, программа проверяет их на отрицательность. Если хотя бы одно число отрицательное, программа выводит
No. - Если все числа положительные, программа вычисляет их квадраты с помощью оператора умножения на себя (*=).
- Затем программа проверяет, являются ли суммы двух чисел равными третьему. Если это так, то программа выводит
Yes, it's right-angled triangle. Если нет, то программа выводитNo. - В конце программы возвращается 0, что означает успешное выполнение.