c++选取最大值的函数max() 可否直接调用

如题所述

可以直接调用,如下列例子则会直接输出13。

#include <iostream>

using namespace std;

int main()

{

cout<<max(12,13)<<endl;

return 0;

}

如果参数为错误值或不能转换成数字的文本,将产生错误。如果参数为数组或引用,则只有数组或引用中的数字将被计算。数组或引用中的空白单元格、逻辑值或文本将被忽略。如果逻辑值和文本不能忽略,请使用函数 MAXA 来代替。

如果参数不包含数字,函数 MAX 返回 0。

扩展资料:

示例1:如果 A1:A5 包含数字 10、7、9、27 和 2,则:

MAX(A1:A5) 等于 27

MAX(A1:A5,30) 等于 30

示例2:如果A1=71、A2=83、A3=76、A4=49、A5=92、A6=88、A7=96。

则公式“=MAX(A1:A7)”返回96。

示例3:课时计算,一个教学班不足60人的按60人计算,超过60人的,每超过1人,课时增加0.006。

公式为=1+MAX(A1-60,0)*0.006

示例4:用Max函数计算个人所得税,假定1000元以下不征税,1000-2000元,超出1000元的部分按1%征税,2000-5000元,超出2000元的总分按2%征税,还要加上2000元的额定税(2000-1000)*1%=10元;5000元以上,超出5000元的部分按5%征税,同时加上2000元的额定税40元。

则公式为=MAX((A1-{1000,2000,5000})*{0.01,0.02,0.05}+{0,10,40},0)

最终简化为=MAX(A1*{0.01,0.02,0.05}-{10,30,210},0)

参考资料:百度百科:max函数

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-07-22
#include <iostream>
using namespace std;
int main()
{
cout<<max(12,13)<<endl;
return 0;
}

可以直接调用,这里输出13

追问

1.如果两个相等呢?2.如果里面的参数个数不确定呢?这时还可以么?Thx

追答

这个函数的实现是这样的:

template<class _Ty> inline
const _Ty& (max)(const _Ty& _Left, const _Ty& _Right)
{ // return larger of _Left and _Right
return (_DEBUG_LT(_Left, _Right) ? _Right : _Left);
}

相等的话就等于这个值。max(12,12)=12  只能有两个参数

参数个数不确定就得用数组了,比如int a[]={12,13,14,15};

#include<algorithm>//这里包含数组选取最大值和最小值的函数

cout<<*max_element(a,a+4)<<endl;  //使用这个函数求出数组里的最大值

本回答被提问者和网友采纳
第2个回答  2014-07-22
你的意思是调用库函数,当然可以直接调用了。
第3个回答  2018-09-19
int max(int a, int b)
{
    if(a>b) return a;return b;
}

第4个回答  2014-07-22
好像要结合STL的容器来使用