Determinare il tipo di triangolo in C

In questo esercizio svilupperemo una programma che ci permette di verificare se i valori dati in input definiscono un triangolo e in particolare se si tratta di un triangolo isoscele, scaleno o equilatero.

Per verificare che i valori in input definiscono effettivamente un triangolo, dobbiamo applicare una delle proprietà fondamentali dei triangoli, la disuguaglianza triangolare. Questa proprietà afferma che in un triangolo la somma di due lati è maggiore della lunghezza del terzo lato, quindi dati tre punti A, B, C deve essere che AB < BC + AC e allo stesso tempo AC < AB + BC e BC < AB + AC. Verificata tale condizione dobbiamo determinare il tipo di triangolo.

Basandosi sui lati i triangoli si possono classificare in triangoli equilateri, isosceli e scaleni. Iniziamo verificando se si tratta di un triangolo equilatero guardando se i tre lati hanno la stessa lunghezza. Se così non fosse, controlliamo se almeno due lati del triangolo possiedono la stessa lunghezza, determinando così un triangolo isoscele. Se anche questo non è il caso, allora siamo certi che si tratta di un triangolo scaleno.

#include <stdio.h> int main() {     float a, b, c;     printf("Inserisci i lati del triangolo: \n");     scanf("%f %f %f", &a, &b, &c);     while(!((a < b + c) && (b < a + c) && (c < a + b))){         printf("I valori che hai inserito non definiscono un triangolo!\n");         printf("Inserisci i lati del triangolo: \n");         scanf("%f %f %f", &a, &b, &c);     }     printf("Il triangolo che hai inserito è: ");     if(a == b  && b == c){         printf("equilatero!");     } else if(a == b || b == c || c == a){         printf("isoscele!");     } else {         printf("scaleno!");     }     return 0; }