本文仅仅发布在CSDN我的博客:点击打开链接。
http://blog.csdn.net/pythontojava?viewmode=contents
转载请注明出处。
我用的IDE是VS2013.。代码在vc++6.0不能编译,要把int _tmain(int argc, _TCHAR* argv[]) 改成 int main() 。
已知两个int数字,返回其中的较小数。
C++已经有这个函数——min(a,b),返回a,b直接的较小值,如果两者相等返回a。这个函数头文件是<algorithm>。
已知两个int数字,返回其中的较大数。
C++已经有这个函数——max(a,b),返回a,b直接的较小值,如果两者相等返回a。这个函数头文件同上。
用法如下:
#include "stdafx.h"
#include<iostream>
#include<algorithm>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
int a=2, b=3;
int c = 4, d = 5;
cout << min(a,b);
cout << endl;
cout << max(c, d);
cout << endl;
system("pause");
return 0;
}
了解详情戳这里点击打开链接。
========分割线=============
现在自己定义函数实现这个功能。
#include "stdafx.h"
#include<iostream>
using namespace std;
int min(int value1, int value2)
{
//如果value1<=value2,则返回value1,否则返回value2
return(value1 <= value2?value1 : value2);
}
int max(int value1, int value2)
{
return(value1 >= value2 ? value1 : value2);
}
int _tmain(int argc, _TCHAR* argv[])
{
int a=2, b=3;
int c = 4, d = 5;
cout << min(a,b);
cout << endl;
cout << max(c, d);
cout << endl;
system("pause");
return 0;
}
运行结果:
========分割线=============
现在用函数模板实现min(),max()
函数模板基础讲解在这里:点击打开链接
#include "stdafx.h"
#include<iostream>
#include<string>
using namespace std;
template<typename T>
T min(T value1, T value2)
{
return(value1 <= value2 ? value1 : value2);
}
template<typename A>
A max(A value1, A value2)
{
return(value1 >= value2 ? value1 : value2);
}
int _tmain(int argc, _TCHAR* argv[])
{
cout << min<float>(6.99,9.88);
cout << endl;
cout << max<char>('a','A');
cout << endl;
cout << max<string>("ABC", "AB");
cout << endl;
system("pause");
return 0;
}
运行结果: