课后练习,输入3个数字,选择输出最大的一个数字

时间:2022-12-04 20:23:25
潭的书刚开始看,这是课后练习,下面这个是我最开始写的:
main()
{int a,b,c,d;
scanf("%d,%d,%d",&a,&b,&c);
d=max(a,b,c);
printf("max=%d",d);
}
int max(int x,int y,int z);
{int w;
if(x>y,x>z)w=x;
if(y>x,y>z)w=y;
else w=z;
return(w);
}

----------------------------然后是朋友写的一段
main()
{int a,b,c,d;
scanf("%d,%d,%d",&a,&b,&c);
d=max(a,b,c);
printf("max=%d",d);
}
int max(int x,int y,int z);
{int w = 0;
if(x>y)
{
    if(x>z)  
{
        w = x;    
}    
else    
{        
w = z;            
}
}
else 
{    
if(y>z)   
{
        w = y;   
 }    
else   
 {       
 w = z;            
}

return(w);
}
-----------------------最后经过询问...探讨...讲解...,总结了一下
第一种:(但是还是有问题,如果X=Y=2,Z=1,则输出错误)
main()
{int a,b,c,d;
scanf("%d,%d,%d",&a,&b,&c);
d=max(a,b,c);
printf("max=%d",d);
}
int max(int x,int y,int z);
{int w;
if(x>y&&x>z)w=x;
if(y>x&&y>z)w=y;
else w=z;
return(w);
}
-------------------------------
第二种:以下只写关于MAX函数的
int max(int x, int y; xin z){
    int m;
    if(x > y)
        m = x;
    else
        m = y;        
    if(z > m)
        m = z;        
    return m;
}

---------------------------------
运用条件符号
int max(int x,int y,int z)
{ int w;
  (x>y)?w=x:w=y;
   if(z>w) w=z;
   return(w);

----------------------------------
最喜欢的一个
int max(int x,int y,int z);
{   int w=x;
   if(y>w)w=y;
   if(z>w)w=z;
   return(w);
}