Определить треугольник

Вводятся три целых числа. Определить, может ли существовать треугольник с такими сторонами, и если да, то какой он: разносторонний, равнобедренный или равносторонний?

Для решения данной задачи следует воспользоваться вложенными конструкциями if-else и логическими операторами "И" и "ИЛИ".

Алгоритм решения может быть следующим:

  1. Сначала выясняется, существует ли треугольник вообще. Если он существует, то программа продолжает выполняться дальше.
  2. Первым делом проверим, что ни одна из сторон не равна другой. Если это так, то треугольник разносторонний. Программа завершится на этом этапе. Если это не так, то программа перейдет к третьей проверке.
  3. Поскольку во втором пункте был исключен вариант, что все стороны разные, то либо они все равны друг другу, либо существует какая-то пара равных сторон. Проще всего проверить, что все стороны равны друг другу. В таком случае треугольник равносторонний. Если же это не так, то остается только один вариант - треугольник равнобедренный.
#include <stdio.h>
 
main() {
    int a,b,c;
    printf("a=");
    scanf("%d", &a);
    printf("b=");
    scanf("%d", &b);
    printf("c=");
    scanf("%d", &c);
    if (a+b <= c || a+c <= b || b+c <= a) 
        printf("Треугольник не существует.\n");
    else
        if (a != b && a != c && b != c) 
            printf("Разносторонний\n");
        else
            if (a == b && b == c)
                printf("Равносторонний\n");
            else
                printf("Равнобедренный\n");
}

Решение задач на языке C




Все разделы сайта