cpp03.cpp

来自「C++参考书」· C++ 代码 · 共 57 行

CPP
57
字号

// Coded by plusir -- Dec.29.2002.
// Standard C++ Bible -- (P264-10-4)

#include <iostream>
#include <string>
using namespace std ;

template<typename T>
T min3( T, T, T ) ;

const char* min3( const char *, const char *, const char * ) ;

int main()
{
	cout << min3( 10, 20, 30 ) << endl ;
	cout << min3( 100.60, 10.872, 5.897 ) << endl ;
	cout << min3( 'C', 'A', 'Z' ) << endl ;
	cout << min3( "Anderson", "Smith", "White" ) << endl ;

	return 0 ;
}

template<typename T>
T min3( T arg1, T arg2, T arg3 )
{
	T min ;

	if ( ( arg1 < arg2 ) && ( arg1 < arg3 ) )
		min = arg1 ;
	else if ( ( arg2 < arg3 ) && ( arg2 < arg1 ) )
		min = arg2 ;
	else
		min = arg3 ;

	return min ;
}

const char* min3( const char *arg1, const char *arg2, const char *arg3 )
{
	const char *min ;

	int result1 = strcmp( arg1, arg2 ) ;
	int result2 = strcmp( arg1, arg3 ) ;
	int result3 = strcmp( arg2, arg1 ) ;
	int result4 = strcmp( arg2, arg3 ) ;

	if ( ( result1 < 0 ) && ( result2 < 0 ) )
		min = arg1 ;
	else if ( ( result3 < 0 ) && ( result4 < 0 ) )
		min = arg2 ;
	else
		min = arg3 ;

	return min ;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?