输出a,b,c最大值,这个程序该怎样写?
这是我写的但错了,请教错在哪了?
main()
{int a,b,c,d;
scanf("%d,%d,%d",&a,&b,&c);
d=max(a,b,c);
printf("max=%d",d);
}
int max(x,y,z)
int x,y,z;
{int d;
if(x>y>z) d=x;/*首先这个两个条件判断不是这样写吧,应该写成if(x>y&&y>z),再着这样判断也不对啊,比如6,3,4--6>3<4第一个不成立,第二个又不成立那就会变成d=y,事实上y最小,建议if语句改写成 d=((x>y)?x:y)>z?((x>y)?x:y):z;*/
if(x<y<z) d=z;
else d=y;
return (d);
}
#include<stdio.h>
#include<conio.h>
main()
{int a,b,c,d;
scanf("%d,%d,%d",&a,&b,&c);
d=max(a,b,c);
printf("max=%d",d);
getch();
}
int max(x,y,z)
int x,y,z;
{
int d;
d=((x>y)?x:y)>z?((x>y)?x:y):z;
return (d);
}
[此贴子已经被作者于2007-5-11 7:21:09编辑过]