C Problem for Triangle
In this program length of three sides are taken as input. Write a C program to find whether a triangle can be formed or not. If not display “This Triangle is NOT possible.” If the triangle can be formed then check the triangle formed is equilateral, isosceles, scalene or a right-angled triangle.
#include <stdio.h>
int ar[3];
void sort(int a, int b, int c) {
int v = 0, i;
ar[0] = a;
ar[1] = b;
ar[2] = c;
for (i = 0; i < 2; i++) {
if (ar[i] > ar[i + 1]) {
v = ar[i];
ar[i] = ar[i + 1];
ar[i + 1] = v;
}
}
}
int main() {
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
int cn = 0;
if ((a == b) && (b == c)) {
cn = 3; // equilateral
}
if (((a == b) && (a != c)) || ((a == c) && (a != b))) {
cn = 4; //isosceles
}
if ((a != b) && (a != c) && (b != c)) {
cn = 5; // scalene
}
sort(a, b, c);
if ((ar[0] + ar[1]) <= ar[2]) {
cn = 1; //triangle not formed
}
if ((ar[0] * ar[0] + ar[1] * ar[1]) == ar[2] * ar[2]) {
cn = 2; //rightangle triangle
}
switch (cn) {
case 1:
printf("Triangle is not possible");
break;
case 2:
printf("Right-angle Triangle");
break;
case 3:
printf("Equilateral Triangle");
break;
case 4:
printf("Isosceles Triangle");
break;
case 5:
printf("Scalene Triangle");
break;
}
return 0;
}