niromru

treug

Dec 2nd, 2021 (edited)
715
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4. #include <locale.h>
  5.  
  6. int main()
  7. {
  8.     setlocale(LC_ALL, "Rus");
  9.     double a, b, c, alpha, beta, gamma;
  10.     scanf("%lf", &a);
  11.     scanf("%lf", &b);
  12.     scanf("%lf", &c);
  13.     if ((a >= b + c) || (b >= a + c) || (c >= a + b)) {
  14.         printf("Треугольник не существует!\n");
  15.         return 1;
  16.     }
  17.     alpha = acos((a * a + b * b - c * c) / (2 * a * b)) * (180 / M_PI);
  18.     beta = acos((b * b + c * c - a * a) / (2 * b * c)) * (180 / M_PI);
  19.     gamma = acos((a * a + c * c - b * b) / (2 * a * c)) * (180 / M_PI);
  20.     if ((alpha == 90) || (beta == 90) || (gamma == 90)) {
  21.         printf("Треугольник - прямоугольный\n");
  22.         printf("Величины острых углов: ");
  23.         if (alpha == 90)
  24.             printf("%lf %lf\n", beta, gamma);
  25.         else if (beta == 90)
  26.             printf("%lf %lf\n", alpha, gamma);
  27.         else
  28.             printf("%lf %lf\n", alpha, beta);
  29.     } else if ((alpha > 90) || (beta > 90) || (gamma > 90)) {
  30.         printf("Треугольник - тупоугольный\n");
  31.         if ((a > b) && (a > c))
  32.             printf("Наибольшая сторона: %lf\n", a);
  33.         else if ((b > a) && (b > c))
  34.             printf("Наибольшая сторона: %lf\n", b);
  35.         else
  36.             printf("Наибольшая сторона: %lf\n", c);
  37.     } else {
  38.         printf("Треугольник - остроугольный\n");
  39.         double P = a + b + c;
  40.         printf("Периметр: %lf\n", P);
  41.     }
  42.     return 0;
  43. }
  44.  
RAW Paste Data