用C语言求三者中的最大者

2025-02-24 13:21:25
推荐回答(5个)
回答1:

#include
int main()
{
int max(int x,int y,int m);
int a,b,c,d;
scanf("%d,%d,%d",&a,&b,&c);
d=max(a,b,c);
printf("%d\n",d);
return 0;
}
int max(int x,int y,int m)//写函数定义时,此处不能有分号
{
int d = a>b?a:b;

return d>c?d:c;

//return (a>b?a:b)>c?(a>b?a:b):c
}

回答2:

你的大括号有点大了,把子函数的函数名都括进来了,当然不行了。
int max(int x,int y,int m);

{
int z;
if(x z=y;
if(z z=m;
return (z);
}

回答3:

先指出你的错误:
1,大括号有误
2,没考虑小于的情况
3,函数的调用需要在之前声明
正确的如下:
#include

int max(int x,int y,int m);

int main()
{
int a,b,c,d;
scanf("%d,%d,%d",&a,&b,&c);
d=max(a,b,c);
printf("%d\n",d);
return 0;
}

int max(int x,int y,int m)
{
int z;
if(x z=y;
else
z=x;
if(z z=m;
return (z);
}

回答4:

改成这样
#include
int main()
{
int max(int x,int y,int m);
int a,b,c,d;
scanf("%d,%d,%d",&a,&b,&c);
d=max(a,b,c);
printf("%d\n",d);
return 0;
}
int max(int x,int y,int m)//写函数定义时,此处不能有分号
{ //这个大括号应该在这
int z;
if(x z=y;
if(z z=m;
return (z);
}

回答5:

int max3(int a,int b,int c){
return a>b?(a>c?a:c):(b>c?b:c);}
每次比较有两种结果,你的只给出1种结果!