El problema es: (no me lo plantea nadie, estoy por libre)
A partir de 3 datos recibidos por el usuario (longitus de los lados de un triangulo) determinar que tipo de triangulo se forma.
El programa me funciona pero seguramente habré cometido barbaridades con los goto y tanto "if". Mi idea es conseguir un código eficiente y legible.
Código
#include <stdio.h> int main() { float a; float b; float c; if (a == b && b == c) { if (a==0){ goto notr; } goto end; notr: goto end; } if (a>b && a>c){ if (a >= (b + c)) goto notr; else if (b == c) printf ("el mayor, y los otros \nson iguales por lo que el triángulo es isóceles\n"); } else if (b>c && b>a){ if (b >= (a + c)) goto notr; else if (a == c) printf ("el mayor, y los otros \nson iguales por lo que el triángulo es isóceles\n"); } else if (c>b && c>a){ if (c >= (b + a)) goto notr; else if (b == a) printf ("el mayor, y los otros \nson iguales por lo que el triángulo es isóceles\n"); } end: return 0; }