利用重载函数实现求两个整数的最大值、三个整数的最大值、两个浮点数的最大值

来源:百度知道 编辑:UC知道 时间:2024/06/08 09:49:29
#include<iostream>
using namespace std;
double MAX(double a,double b){return a>b?a:b;}
int MAX(int a,int b){return a>b?a:b;}
int main()
{
int x,y;
cin>>x;
cin>>y;
cout<<MAX(x,y)<<endl;
double x1,y1;
cin>>x1;
cin>>y1;
cout<<MAX(x1,y1)<<endl;
return 0;
}

这是把本来程序内固定参数值的,改写成了用cin输入参数的。。但是怎么增加判断3个整数呢?
试过添加以下语句:
int MAX(int a,int b,int c)
{int t
t=a>b?a:b
return t>c?t:c}
下面函数体里面增加
cin>>x2;
cin>>y2;
cin>>z;
cout<<MAX(x2,y2,z)<<endl;

但是报错,无法运行。怎么改呢?麻烦帮下忙。谢谢
变量改了。。但是怎么添加比较3个数字还是不会。。。有高手直接帮忙改一下吗?谢谢!

#include <iostream>
using namespace std;
double MAX(double a,double b){return a>b?a:b;}
int MAX(int a,int b){return a>b?a:b;}
int MAX(int a,int b,int c)
{int z=a>b?a:b;
return(z>c?

编译器无法理解
int MAX(int a,int b)
和int MAX(int a,int b,int c)
这样写会造成二义性冲突
可以使用可变参数的函数

楼上的,他那个是重载函数,参数个数不同,重载是没问题的。
其实这个递归调用就可以了。以整型为例,int MAX(int a,int b);//原型
MAX( MAX(a,b),c);//调用。你按照这个思路写就行了,应该不难吧

#include<iostream>
using namespace std;
double MAX(double a,double b){return a>b?a:b;}
int MAX(int a,int b){return a>b?a:b;}
int MAX(int a,int b,int c){return (a>b?a:(b>c?b:c));}
void main()
{
int x1,x2,z,y1,y2;
float x,y;
cout<<"输入x:";
cin>>x;
cout<<"输入y:";
cin>>y;
cout<<"输入x1:";
cin>>x1;
cout<<"输入y1:";
cin>>y1;
cout<<"输入x2:";
cin>>x2;
cout<<"输入y2:";
cin>>y2;
cout<<"输入z:";
cin>>z;
cout<<MAX(x,y)<<endl;
cout<<MAX(x1,y1)&l

c++:利用函数重载编写程序,求不同变量(int/long/double)的绝对值 写两个函数分别求两个整数的最大公约数和最小公倍数用主函数调用这两个函数,并输出结果,两个整数由键盘输 用递归法实现求取两个整数的最大公因子 利用函数swap实现交换两个变量的值。用函数的方法做,不能用指针的方法 )建立一个字符串类用成员函数编写程序重载运算符“+”,使该运算符实现两个字符串的连接。 利用JAVA的随机函数随机生成n个整数 利用循环列表表示最大整数,链表的头结点为-1,在利用上述数据结构完成后实现两个大数的加减运算 c 语言哈,写两个函数,分别求两个整数的最大公约数和 最小公倍数,用主函数调用这两个函数,并输出结果。 写出两个函数,分别求两个整数的最大公约数和最小公倍数。用主函数调用这两个函数,并输出结果。 C语言编写函数求两个整数之和