C++_自定义函数实现返回两个数中的较小数

本文仅仅发布在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;
}
运行结果:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值