Ayuda con pequeño problema con if anidados en c
Publicado por daniel (4 intervenciones) el 03/03/2018 06:31:00
Hola amigos, soy estudiante de programacion y apenas estoy iniciando con c, es un pequeño problema con if anidados, lo que pasa es que me compila por completo, pero al ejecutar la serie de acciones solo me ejecuta el primer if, y no compara lo demas... Me podrian ayudar a identificar que pasa con los if?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <stdio.h>
#include <windows.h>
float leer();
void ordenamiento(float,float,float);
int main(){
float a,b,c;
a=leer();
b=leer();
c=leer();
ordenamiento(a,b,c);
system("pause");
return 0;
}
void ordenamiento(float x,float y,float z){
if(x<z<y){ //este es el unico if que ejecuta, el resto los salta, lo que quiero hacer en este programa es que me ordene los numeros de menor a mayor
printf("el orden es: %f, %f, %f\n",x,z,y);
}else if(x<y<z){
printf("el orden es: %f, %f, %f\n",x,y,z);
}else if(y<x<z){
printf("el orden es: %f, %f, %f\n",y,x,z);
}else if(z<y<x){
printf("el orden es: %f, %f, %f\n",z,y,x);
}else if (z<x<y){
printf("el orden es: %f, %f, %f\n",x,y,z);
}else if (y<z<x){
printf("el orden es: %f, %f, %f\n",y,z,z);
}
}
float leer (){
float n=0;
printf("Dame el valor decimal: ");
scanf("%f",&n);
return n;
Valora esta pregunta


0