Write a C program to input side of a triangle and check whether triangle is valid or not using if else. How to check whether a triangle can be formed or not if sides of triangle is given using if else in C programming. Logic to check triangle validity if sides are given in C program.

**Example**

**Input**

Input first side: 7 Input second side: 10 Input third side: 5

**Output**

Triangle is valid

## Required knowledge

Basic C programming, Relational operators, Nested If else

## Property of triangle

A triangle is valid if sum of its two sides is greater than the third side. Means if `a, b, c` are three sides of a triangle. Then the triangle is valid if all three conditions are satisfied

`a + b > c`

`a + c > b`

and

`b + c > a`

Learn more - Program to check triangle validity if angles are given.

## Logic to check triangle validity

Step by step descriptive logic to check triangle validity if its sides are given.

- Input sides of a triangle from user. Store them in some variable say
`side1`,`side2`and`side1`. - Given triangle is valid if
`side1 + side2 > side3`

and`side1 + side3 > side2`

and`side2 + side3 > side1`

.

## Program to check triangle validity using nested `if...else`

```
/**
* C program to check whether a triangle is valid or not if its sides are given
*/
#include <stdio.h>
int main()
{
int side1, side2, side3;
/* Input three sides of a triangle */
printf("Enter three sides of triangle: \n");
scanf("%d%d%d", &side1, &side2, &side3);
if((side1 + side2) > side3)
{
if((side2 + side3) > side1)
{
if((side1 + side3) > side2)
{
/*
* If side1 + side2 > side3 and
* side2 + side3 > side1 and
* side1 + side3 > side2 then
* the triangle is valid.
*/
printf("Triangle is valid.");
}
else
{
printf("Triangle is not valid.");
}
}
else
{
printf("Triangle is not valid.");
}
}
else
{
printf("Triangle is not valid.");
}
return 0;
}
```

## Logic to check triangle validity using nested if - best approach

Despite of easiness, the above code is messy and less readable. In above code `printf("Triangle is not valid.");`

statement is unnecessarily repeated for various conditions. You can cut the extra `printf("Triangle is not valid.");`

statement using a flag variable.

Let us suppose a temporary variable `valid` initialized with `0` indicating triangle is not valid. The main idea is to check triangle validity conditions and if triangle is valid then set `valid` variable to `1` indicating triangle is valid. Finally, check `if(valid == 1)`

then triangle is valid otherwise not valid.

## Program to check valid triangle using nested if - best approach

```
/**
* C program to check whether a triangle is valid using nested if
*/
#include <stdio.h>
int main()
{
int side1, side2, side3;
/* Initially assume that the triangle is not valid */
int valid = 0;
/* Input all three sides of a triangle */
printf("Enter three sides of triangle: \n");
scanf("%d%d%d", &side1, &side2, &side3);
if((side1 + side2) > side3)
{
if((side2 + side3) > side1)
{
if((side1 + side3) > side2)
{
/*
* If side1 + side2 > side3 and
* side2 + side3 > side1 and
* side1 + side3 > side2 then
* the triangle is valid. Hence set
* valid variable to 1.
*/
valid = 1;
}
}
}
/* Check valid flag variable */
if(valid == 1)
{
printf("Triangle is valid.");
}
else
{
printf("Triangle is not valid.");
}
return 0;
}
```

Another way to cut length of the program is by using logical AND operator `&&`

. Below program illustrates how to use logical AND operator for this program.

## Program to check valid triangle using `if...else`

and logical AND operator

```
/**
* C program to check whether a triangle is valid or not using logical AND operator
*/
#include <stdio.h>
int main()
{
int side1, side2, side3;
/* Input all three sides of a triangle */
printf("Enter three sides of triangle: \n");
scanf("%d%d%d", &side1, &side2, &side3);
if((side1 + side2 > side3) && (side1 + side3 > side2) && (side2 + side3 > side1))
{
printf("Triangle is valid.");
}
else
{
printf("Triangle is not valid.");
}
return 0;
}
```

Output

Enter three sides of triangle: 7 4 10 Triangle is valid.

Happy coding 😉

### Recommended posts

- If else programming exercises index.
- C program to check whether a triangle is Equilateral, Isosceles or Scalene triangle.
- C program to enter two angles of a triangle and find the third angle.
- C program to find the area of a triangle.
- C program to find area of an Equilateral triangle.
- C program to find all roots of a quadratic equation.

<pre><code> ----Your Source Code---- </code></pre>