一、运用max函数来进行数的大小比较:
1.两个数
float a;
float b;
cin >> a >> b;
cout << max(a, b) << '\t'<< min(a, b) << endl;
#include<algorithm> //max,min的头文件
2.三个数
#include<iostream>
#include <algorithm>
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语句
#include<iostream>
using 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<iostream>
#include<iomanip>
using 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;
}
运行结果: