Определить существование треугольника, зная длины сторон - 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(); }
Объяснение кода листинга программы
- a, b, c - переменные типа double для хранения длин сторон треугольника
- c1, c2, c3 - переменные типа int для хранения результатов проверки условий
- printf (
Programa dl9 vuznachennu tupu trukytnuka \n
); - вывод названия программы - printf (
------------------------------\n
); - вывод разделителя - printf (
Vveditb a:
); - запрос на ввод значения переменной a - scanf (
%f
, &a); - считывание значения переменной a - printf (
Vveditb b:
); - запрос на ввод значения переменной b - scanf (
%f
, &b); - считывание значения переменной b - printf (
Vveditb c:
); - запрос на ввод значения переменной c - scanf (
%f
, &c); - считывание значения переменной c - c1=( ( (a+b)>c ) && ( (a+c)>b ) && ( (b+c)>a) ); - расчет и присвоение значения переменной c1
- c2=( (a==b) || (a==c) || (b==c) ); - расчет и присвоение значения переменной c2
- c3=( (a==b) && (b==c) ); - расчет и присвоение значения переменной c3
- 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
); - вывод сообщения в случае, если ни одно из условий не выполнено - getch(); - ожидание нажатия клавиши для завершения программы
- return 0; - завершение программы
- В случае, если введенные значения не удовлетворяют ни одному из условий, программа выводит сообщение
Eto ne treugolnik
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д