/ / Preguntando por el lado más largo de un triángulo c - c, geometría

Preguntar por el lado más largo de un triángulo c - c, geometría

Estoy tratando de hacer que mi programa imprima el lado más largo del triángulo, pero parece que estoy obteniendo el resto y, si las declaraciones son incorrectas, ¿cómo puedo solucionar los problemas y qué estoy haciendo mal?

            if (a >= b && a >= c)
printf("A is the largest side.", a);

if (b >= a && b >= c)
printf("B is the largest side.", b);

if (c >= a && c >= b)
printf("C is the largest side.", c);

else if (a <= b && a <= c)
printf("A is the smallest side.", a);

else if (b <= a && b <= c)
printf("B is the smallest side.", b);

else if (c <= a && c <= b)
printf("C is the smallest side.", c);

Respuestas

0 para la respuesta № 1

tal vez esto sea mejor que tu secuencia if

Adoptalo un poco, para tus propósitos.

int main(){
char longest_side;
int a, b, c;
longest_side = (a > b) ? ((a > c) ? ("a") : ("c")) : ((b > c) ? ("b") : ("c"));
retrun 0;
}

Si quiere dejar su propio código, cámbielo a este

if (a > b && a > c)
printf("A is the largest side.", a);
else if (b > a && b > c)
printf("B is the largest side.", b);
else
printf("C is the largest side.", c);

if (a < b && a < c)
printf("A is the smallest side.", a);
else if (b < a && b < c)
printf("B is the smallest side.", b);
else
printf("C is the smallest side.", c);

También note que su printf call doesn"t output your side length, porque usas "%d" en ninguna parte.

printf("C is the smallest side. Length: %d", c);

0 para la respuesta № 2

Un enfoque fácil para encontrar el número máximo IMHO:

#include <stdio.h>

int max(int x, int y)
{
if (x > y) return x;
else return y;
}

int main(void)
{
int a, b, c;
a = 10; b = 20; c = 30;

printf("%dn", max(max(a, b), c));
}

Estoy seguro de que puedes recoger desde aquí.


-1 para la respuesta № 3

Creo que puedes intentar esto. Aquí puede obtener una bonita solución para encontrar max y min con if-else con función

#include <stdio.h>
#include <math.h>

int max(int a, int b)
{
return 0.5 * (a + b + fabs(a - b));
}

int min(int a, int b)
{
return 0.5 * (a + b - fabs(a - b));
}

int main(void)
{
int a, b, c;

scanf("%d %d %d", &a, &b, &c);

if(a == max(max(a, b), c))
printf("A is the largest side. And it"s value is: %dn", a);
else if(b == max(max(a, b), c))
printf("B is the largest side. And it"s value is: %dn", b);
else
printf("C is the largest side. And it"s value is: %dn", c);

if(a == min(min(a, b), c))
printf("A is the smallest side. And it"s value is: %dn", a);
else if(b == min(min(a, b), c))
printf("B is the smallest side. And it"s value is: %dn", b);
else
printf("C is the smallest side. And it"s value is: %dn", c);

return 0;
}