编程中遇到的C问题,求救

来源:百度知道 编辑:UC知道 时间:2024/05/14 10:35:48
void main()
{int a,b,c,x,x1,x2;
scanf("%d %d %d",&a,&b,&c);
x=orter(a,b,c);
x1=orter1(a,b,c);
x2=orter2(a,b,c);
printf("max-->small %d %d %d",x,x1,x2);
}
int orter(int x,int y,int z)
{int m;
if(x>y,x>z) m=x;
if(y>x,y>z) m=y;
if(z>x,z>y) m=z;
return(m);
}
int orter1(int x,int y,int z)
{int k;
if(y>x,x>z) k=x;
if(x>y,y>z) k=y;
if(x>z,z>y) k=z;
return(k);
}
int orter2(int x,int y,int z)
{int l;
if(x<y,x<z) l=x;
if(y<x,y<z) l=y;
if(z<x,z<y) l=z;
return(l);
}

我想求的是 让他自动按大小顺序显示出来 可是最大值和最小值出来了 中间的值就是 显示不出来 刚学 请各位大大指导一下
int orter1(int x,int y,int z)
{int k;
if(y>x,x>z) k=x;
if(x>y,y>z) k=y;
if(x>z,z>y) k=z;
return(k);
} 这句有什么问题 为什么判断不出中间的值~

少掉了几个判断: z>x>y
z>y>x
y>z>x
完整程序修改如下:
#include "stdio.h"

int orter(int x,int y,int z);
int orter1(int x,int y,int z);
int orter2(int x,int y,int z);

void main()
{
int a,b,c,x,x1,x2;
scanf("%d %d %d",&a,&b,&c);
x=orter(a,b,c);
x1=orter1(a,b,c);
x2=orter2(a,b,c);
printf("max-->small %d %d %d",x,x1,x2);
getchar();
}

int orter(int x,int y,int z)
{
int m;
if(x>y&&x>z) m=x;
if(y>x&&y>z) m=y;
if(z>x&&z>y) m=z;
return(m);
}

int orter1(int x,int y,int z)
{
int k;
if(y>x&&x>z||z>x&&x>y) k=x;
if(x>y&&y>z||z>y&&y>x) k=y;
if(x>z&&z>y||y>z&&z>x) k=z;
return(k);
}

int orter2(int x,int y,int z)
{
int l;