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;}
运行结果: