> 文档中心 > max函数与min函数(数的大小比较)

max函数与min函数(数的大小比较)

一、运用max函数来进行数的大小比较:

1.两个数

    float a;float b;cin >> a >> b;cout << max(a, b) << '\t'<< min(a, b) << endl;

#include //max,min的头文件

2.三个数

#include#include using namespace std;int main(){ int a, b, c; int x2, x1; cin >> a >> b >> c; x1 = max(a, b);  // 把 a,b 中大的值赋给 x1 x2 = max(x1, c);  // 把 x1,c 中大的值赋给 x2 cout << x2 << endl;  // 输出最大值 return 0;}

除了用上述方法外还可以用if语句

#includeusing namespace std;int main(){    int a,b,c,t,e;    cin>>a>>b>>c;    if(a>b) t=a;    else    t=b;    if(t>c) e=t;    else    e=c;    cout<<e;    return 0;}

比较数还可以用三目运算符和宏

max=a>b ? a:b;

min=a<b ? a:b;

#define Max(a,b) (a>b ? a:b)

#define Min(a,b) (a<b ? a:b)

二、有一个较好的例子:

分别用函数和带参的宏,从三个数中找出最大的数。最大的数,输出两遍,先用函数,再用宏。 保留3位小数

#include#includeusing namespace std;float fun0(float a, float b, float c){float t = max(a, b);float data = max(t, c);return data;}#define fun(a,b,c) (a>b?(a>c?a:c):(b>c?b:c))int main(){float a,b,c;cin >> a>>b>>c;cout << fixed << setprecision(3)<< fun0(a, b, c) << endl;cout << fixed << setprecision(3) << fun(a, b, c);return 0;}

运行结果: