bsc

Comprehensive codebase and cou...
Log | Files | Refs | Activity | README | LICENSE

root / semester_1 / letusc / luc019.c

luc019.c (1973B)


      1 /* If the length of three sides of a triangle are entered through the
      2 keyboard, write a program to check whether the triangle is an isosceles,
      3 an equilateral, a scalene or a right-angled triangle. */
      4 /* Let Us C, Chap- 4, Page - 71, Qn No.: D(a) */
      5 
      6 #include <stdio.h>
      7 #include <math.h>
      8 
      9 #define EPSILON 0.000001
     10 /* EPSILON is used to compare double values for approximate equality,
     11 mitigating floating-point precision errors. */
     12 
     13 int main()
     14 {
     15     double side1, side2, side3;
     16     printf("Please enter the length of three side of the triangle : ");
     17     scanf("%lf %lf %lf", &side1, &side2, &side3);
     18     if (side1 < 1 || side2 < 1 || side3 < 1)
     19     {
     20         printf("\nLength of a side of triangle should be a positive integer.");
     21         return 1;
     22     }
     23     if (side1 + side2 < side3 || side1 + side3 < side2 || side2 + side3 < side1)
     24     {
     25         printf("\nEntered triangle is not VALID.");
     26         return 1;
     27     }
     28     // isosceles check
     29     if (side1 == side2 || side2 == side3 || side3 == side1)
     30         printf("\nEntered triangle is a ISOSCELES triangle.");
     31     else
     32         printf("\nEntered triangle is NOT a ISOSCELES triangle.");
     33     // equilateral check
     34     if (side1 == side2 && side2 == side3)
     35         printf("\nEntered triangle is a EQUILATERAL triangle.");
     36     else
     37         printf("\nEntered triangle is NOT a EQUILATERAL triangle.");
     38     // scalene check
     39     if (side1 != side2 && side2 != side3)
     40         printf("\nEntered triangle is a SCALENE triangle.");
     41     else
     42         printf("\nEntered triangle is NOT a SCALENE triangle.");
     43     // right-angle check
     44     if (fabs(((side1 * side1) + (side2 * side2)) - (side3 * side3)) < EPSILON ||
     45         fabs(((side2 * side2) + (side3 * side3)) - (side1 * side1)) < EPSILON ||
     46         fabs(((side3 * side3) + (side1 * side1)) - (side2 * side2)) < EPSILON)
     47         printf("\nEntered triangle is a RIGHT-ANGLED triangle.");
     48     else
     49         printf("\nEntered triangle is NOT a RIGHT-ANGLED triangle.");
     50     return 0;
     51 }
© notamitgamer • Site Built: 2026-09-05 01:53:16 UTC • git-mirror commit: c170d72 [view raw info]
Originally created with stagit • modified by notamitgamer
Forked from github.com/notamitgamer/git-mirror