#include
#include
int max(int,int,int);
int main()
{
int a,b,c;
scanf("%d,%d,%d",&a,&b,&c);
printf("max num is %d",max(a,b,c));
return 0;
}
int max(int a,int b,int c)
{
return (a>b?a:b)>c?(a>b?a:b):c;
}
扩展资料
#include
using namespace std;
int main()
{int a,b,c,t;
cin >> a>>b>>c ;
if ( a > b ){ //交换两数
t=a;a=b;
b=t;
}//到此,保证a<=b
if ( c < a ) //小于小的,为最小cout << c << " " << a << " " << b < else if ( c>b ) //大于大的,为最大
参考资料:百度百科 C语言函数
这个程序可以以这样的思路进行编写,首先固定一个数与其他的两个数进行比较,如果另两个数比这个数大,则将较大的数赋值给这个固定的数,最后输出。
示例代码如下:
#include
using namespace std;
int main()
{
int a, b, c;
cin >> a >> b >> c;//输入三个数
if (a < b)a=b;//如果b比a大,更新a
if (a < c)a=c;//如果c比a大,更新a
cout << a << endl;//输出最大数a
return 0;
}
x>y>z这种用法不对,数学式子不能直接用在C++里面
改一下
#include
#include
int max(int,int,int);
int main()
{
int a,b,c;
scanf("%d,%d,%d",&a,&b,&c);
printf("max num is %d",max(a,b,c));
return 0;
}
int max(int a,int b,int c)
{
return (a>b?a:b)>c?(a>b?a:b):c;
}
有几个错误:
1.a,b,c定义的是整数,而输入的是实数单精度,应改为scanf("%d,%d,%d",&a,&b,&c);
2.按你的意思,大概是d=max(a,b,c),因为你的输出是d;printf("max=%d\n",d);
3.if(x>y>z)w=x;这跳语句将得不到你希望的结果;应改为:
if(x>y)w=x;
else w=y;
if(z>w)w=z;
#include
int main()
{
int max(int x,int y,int z);
int a,b,c,d;
scanf("%d,%d",&a,&b,&c);
c=max(a,b,c);
printf("max=%d\n",d);
return 0;
}
int max(int x,int y,int z)
{int w;
if(x>y>z)w=x;
else w=z;
return(w);
}