C Program To Check whether a Triangle is Equilateral, Isosceles or Scalene


If the three sides of a Triangle are entered through the keyboard, write a program to check whether the Triangle is isosceles, equilateral, scalene Triangle.

Note:
Equilateral Triangle: A Triangle is called equilateral triangle if length of 3 sides of it are equal.
Example: a = 10, b = 10, c = 10;

Isosceles Triangle: A Triangle is called isosceles triangle if length of 2 sides of it are equal.
Example: a = 5, b = 10, c = 10;

Scalene Triangle: A Triangle is called scalene triangle if length of all 3 sides are different or not equal.
Example: a = 5, b = 6, c = 10;

C Program To Check whether a Triangle is Equilateral, Isosceles or Scalene

#include < stdio.h >

int main()
{
    float a, b, c, flag = 0;

    printf("Enter values for a, b and c\n");
    scanf("%f%f%f", &a, &b, &c);

        if(a == b && b == c)
        {
            printf("It's an Equilateral Triangle\n");
        }
        else if(a == b || a == c || b == c)
        {
            printf("It's an Isosceles Triangle\n");
        }
        else
        {
            printf("It's a Scalene Triangle\n");
        }

    return 0;
}

Output 1:
Enter values for a, b and c
10
10
10
It’s an Equilateral Triangle

Output 2:
Enter values for a, b and c
20
20
30
It’s an Isosceles Triangle

Output 3:
Enter values for a, b and c
10
15
8
It’s a Scalene Triangle

Here a, b and c are lengths of sides of the triangle. First we check if length of a is equal to length of b and length of c. If that’s true, then its Equilateral Triangle.

Next, if the first condition is false – we check if either length of a is equal to length of b or length of a is equal to length of c or length of b is equal to length of c. If any of these conditions are true, then 2 sides of the Triangle are equal. So its an Isosceles Triangle.

If above two conditions are false, then length of all sides of the Triangle is different or not equal, so it’s a Scalene Triangle.

C Program To Check whether a Triangle is Equilateral, Isosceles or Scalene


[youtube https://www.youtube.com/watch?v=m8vF8qvFvxE]

YouTube Link: https://www.youtube.com/watch?v=m8vF8qvFvxE [Watch the Video In Full Screen.]


Check If Triangle is valid or not

First we ask the user to input lengths of 3 sides of the Triangle. We’ll need to write the C program to check if the entered values form a valid Triangle or not. You can find the logic to it at Triangle Valid or Not based On Sides: C Program.

C Program To Check whether a Triangle is Equilateral, Isosceles or Scalene: Valid Triangle

#include < stdio.h >

int main()
{
    float a, b, c, flag = 0;

    printf("Enter values for a, b and c\n");
    scanf("%f%f%f", &a, &b, &c);

    if( a>b && a>c)
    {
        flag = ((b+c) > a);
    }
    else if( b>c )
    {
        flag = ((a+c) > b);
    }
    else
    {
        flag = ((a+b) > c);
    }

    if(flag)
    {
        if(a == b && b == c)
        {
            printf("It's an Equilateral Triangle\n");
        }
        else if(a == b || a == c || b == c)
        {
            printf("It's an Isosceles Triangle\n");
        }
        else
        {
            printf("It's a Scalene Triangle\n");
        }
    }
    else
    {
        printf("Invalid Triangle\n");
    }

    return 0;
}

Output 1:
Enter values for a, b and c
4
5
6
It’s a Scalene Triangle

Output 2:
Enter values for a, b and c
30
30
30
It’s an Equilateral Triangle

Output 3:
Enter values for a, b and c
10
50
50
It’s an Isosceles Triangle

Output 4:
Enter values for a, b and c
10
50
20
Invalid Triangle

Note:
Result of output 4 gives “Invalid Triangle” because – the largest side is 50. So the sum of other two sides must be greater than 50. (10+20) = 30. So 30 is not equal to 50, so Triangle can’t be formed with length of sides as 10, 50 and 20.

For list of all c programming interviews / viva question and answers visit: C Programming Interview / Viva Q&A List

For full C programming language free video tutorial list visit:C Programming: Beginner To Advance To Expert

Leave a Reply

Your email address will not be published. Required fields are marked *