Vichfret
August 26th, 2009, 05:12 PM
I made this program in C, as you may see I used a if for each case, my question is, is there a way to make this program in less lines using only if/else?
#include <stdio.h>
#include <stdlib.h>
main() {
int a, b, c;
system("clear"); // no windows allowed :P
printf("Introduce un número: \n"); // enter a number
scanf("%d", &a);
printf("Introduce un número: \n");
scanf("%d", &b);
printf("Introduce un número: \n");
scanf("%d", &c);
if(a == b || a == c || b == c) {
if(a == b && a == c && b == c)
printf("Los tres números son iguales\n"); // the three numbers are equal
else{
if(a == b)
if (a > c)
printf("%d es el mayor y %d es el menor\n", a, c); // x is the greatest and y is the lowest
else
printf("%d es el mayor y %d es el menor\n", c, a);
if(a == c)
if(a > b)
printf("%d es el mayor y %d es el menor\n", a, b);
else
printf("%d es el mayor y %d es el menor\n", b, a);
if(b == c)
if(b > a)
printf("%d es el mayor y %d es el menor\n", b, a);
else
printf("%d es el mayor y %d es el menor\n", a, b);
}
}
else {
if(a > b && a > c)
if(b > c)
printf("El numero mayor es %d, el de en medio es %d y el menor es %d \n", a, b, c); // the greatest number is x, the middle is y and the lowest is z
else
printf("El numero mayor es %d, el de en medio es %d y el menor es %d \n", a, c, b);
if(b > a && b > c)
if(a > c)
printf("El numero mayor es %d, el de en medio es %d y el menor es %d \n", b, a, c);
else
printf("El numero mayor es %d, el de en medio es %d y el menor es %d \n", b, c, a);
if(c > a && c > b)
if(a > b)
printf("El numero mayor es %d, el de en medio es %d y el menor es %d \n", c, a, b);
else
printf("El numero mayor es %d, el de en medio es %d y el menor es %d \n", c, b, a);
}
return 0;
}
#include <stdio.h>
#include <stdlib.h>
main() {
int a, b, c;
system("clear"); // no windows allowed :P
printf("Introduce un número: \n"); // enter a number
scanf("%d", &a);
printf("Introduce un número: \n");
scanf("%d", &b);
printf("Introduce un número: \n");
scanf("%d", &c);
if(a == b || a == c || b == c) {
if(a == b && a == c && b == c)
printf("Los tres números son iguales\n"); // the three numbers are equal
else{
if(a == b)
if (a > c)
printf("%d es el mayor y %d es el menor\n", a, c); // x is the greatest and y is the lowest
else
printf("%d es el mayor y %d es el menor\n", c, a);
if(a == c)
if(a > b)
printf("%d es el mayor y %d es el menor\n", a, b);
else
printf("%d es el mayor y %d es el menor\n", b, a);
if(b == c)
if(b > a)
printf("%d es el mayor y %d es el menor\n", b, a);
else
printf("%d es el mayor y %d es el menor\n", a, b);
}
}
else {
if(a > b && a > c)
if(b > c)
printf("El numero mayor es %d, el de en medio es %d y el menor es %d \n", a, b, c); // the greatest number is x, the middle is y and the lowest is z
else
printf("El numero mayor es %d, el de en medio es %d y el menor es %d \n", a, c, b);
if(b > a && b > c)
if(a > c)
printf("El numero mayor es %d, el de en medio es %d y el menor es %d \n", b, a, c);
else
printf("El numero mayor es %d, el de en medio es %d y el menor es %d \n", b, c, a);
if(c > a && c > b)
if(a > b)
printf("El numero mayor es %d, el de en medio es %d y el menor es %d \n", c, a, b);
else
printf("El numero mayor es %d, el de en medio es %d y el menor es %d \n", c, b, a);
}
return 0;
}