利用重载函数实现:分别求出2个double型、3个double型或4个double型数中最大值和最小值,并在main函数中调用之。
小问题:返回两个值,考虑实参引用&
;子函数在return
之后就不再运行;用嵌套三目的方法,选一个参数存min
,return
max
。
注意 :不要一起cout
,否则有实参没来得及改变就已经输出的问题。
#include <iostream>
using std::endl;
using std::cout;
using std::cin;
double max(double& a, double b)
{
double max = a > b ? a : b;
a = a < b ? a : b;
return max;
}
double max(double& a, double b, double c)
{
double max = (c > (a > b ? a : b) ? c : (a > b ? a : b));
a = (c < (a < b ? a : b) ? c : (a < b ? a : b));
return max;
}
double max(double& a, double b, double c, double d)
{
double max = (d > (c > (a > b ? a : b) ? c : (a > b ? a : b)) ? d : (c > (a > b ? a : b) ? c : (a > b ? a : b)));
a= (d < (c < (a < b ? a : b) ? c : (a < b ? a : b)) ? d : (c < (a < b ? a : b) ? c : (a < b ? a : b)));
return max;
}
int main()
{
cout << "请输入两个数:";
double a, b, c, d;
cin >> a >> b;
cout << "最大数是" << max(a, b) << endl;
cout << "最小数是" << a << endl;
cout << "请输入三个数:";
cin >> a >> b >> c;
cout << "最大数是" << max(a, b, c) << endl;
cout <<"最小数是" << a << endl;
cout << "请输入四个数:";
cin >> a >> b >> c >> d;
cout << "最大数是" << max(a, b, c, d) << endl;
cout << "最小数是" << a << endl;
system("pause");
return 0;
}