Определить существование треугольника, зная длины сторон - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Заданные три числа. Определить, могут ли они быть сторонами треугольника и, если да, определить его тип: равносторонний, равнобедренный, произвольный. Помогите исправить код, я в C новенький.
#include <math.h>
#include <conio.h>
#include <stdio.h>
 
double a, b, c;
void main()
{
    printf ("Programa dl9 vuznachennu tupu trukytnuka \n");
    printf ("------------------------------\n");
    printf ("Vveditb a: ");
    scanf ("%f", &a);
    printf ("Vveditb b: ");
    scanf ("%f", &b);
    printf ("Vveditb c: ");
    scanf ("%f", &c);
    if (a+b<=c)or(a+c<=b)or(b+c<=a) 
    printf ("Ce ne trukytnuk");
    else if (a=b)and(b=c) 
    printf ("Ce rivnobi4nuu trukytnuk");
    else if ((a=b)and(b<>c))or((a=c)and(b<>c))or((b=c)and(a<>c))
    printf ("Ce rivnobedrenuu trukytnuk");
    else printf ("Ce dovilniu trukytnuk");
}

Решение задачи: «Определить существование треугольника, зная длины сторон»

textual
Листинг программы
#include "stdafx.h"
#include <math.h>
#include <conio.h>
#include <stdio.h>
 
 
int main()
{
    double a, b, c;
    int c1=0, c2=0, c3=0;
 
    printf ("Programa dl9 vuznachennu tupu trukytnuka \n");
    printf ("------------------------------\n");
    printf ("Vveditb a: ");
    scanf ("%f", &a);
    printf ("Vveditb b: ");
    scanf ("%f", &b);
    printf ("Vveditb c: ");
    scanf ("%f", &c);
 
 
    c1=( ( (a+b)>c ) && ( (a+c)>b ) && ( (b+c)>a)  );
    c2=( (a==b) || (a==c) || (b==c) );
    c3=( (a==b) && (b==c) );
 
    if (c3) {printf("Eto ravnostoronniy treugolnik.\n"); return 0;}
    if (c2) {printf("Eto ravnobedrenniy treugolnik.\n"); return 0;}
    if (c1) {printf("Eto proizvolniy treugolnik.\n"); return 0;}
     printf("Eto ne treugolnik\n");                        return 0;
 
        getch();
}

Объяснение кода листинга программы

  1. a, b, c - переменные типа double для хранения длин сторон треугольника
  2. c1, c2, c3 - переменные типа int для хранения результатов проверки условий
  3. printf (Programa dl9 vuznachennu tupu trukytnuka \n); - вывод названия программы
  4. printf (------------------------------\n); - вывод разделителя
  5. printf (Vveditb a:); - запрос на ввод значения переменной a
  6. scanf (%f, &a); - считывание значения переменной a
  7. printf (Vveditb b:); - запрос на ввод значения переменной b
  8. scanf (%f, &b); - считывание значения переменной b
  9. printf (Vveditb c:); - запрос на ввод значения переменной c
  10. scanf (%f, &c); - считывание значения переменной c
  11. c1=( ( (a+b)>c ) && ( (a+c)>b ) && ( (b+c)>a) ); - расчет и присвоение значения переменной c1
  12. c2=( (a==b) || (a==c) || (b==c) ); - расчет и присвоение значения переменной c2
  13. c3=( (a==b) && (b==c) ); - расчет и присвоение значения переменной c3
  14. if (c3) {printf(Eto ravnostoronniy treugolnik.\n); return 0;} - проверка условия и вывод сообщения в случае истинности
  15. if (c2) {printf(Eto ravnobedrenniy treugolnik.\n); return 0;} - проверка условия и вывод сообщения в случае истинности
  16. if (c1) {printf(Eto proizvolniy treugolnik.\n); return 0;} - проверка условия и вывод сообщения в случае истинности
  17. printf(Eto ne treugolnik\n); - вывод сообщения в случае, если ни одно из условий не выполнено
  18. getch(); - ожидание нажатия клавиши для завершения программы
  19. return 0; - завершение программы
  20. В случае, если введенные значения не удовлетворяют ни одному из условий, программа выводит сообщение Eto ne treugolnik.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.778 из 5
Похожие ответы