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;

}