输入三个数(int,float型),求其最大值。
#include<iostream>
using namespace std;
template<typename T>
T max(T a,T b,T c) //定义一个函数模板,使函数可以适应下面输入数据的类型的不同
{ T tmp;
tmp=(a>b)?a:b; //判断最大数
tmp=(tmp>c)?tmp:c;
return tmp; //返回得到的最大数 }
int main()
{ cout<<"pls choose the type of the data;1;int,2:float"<<endl;
int type;
cin>>type;
switch(type) //根据选择的数据类型
{ case 1:
{ int x,y,z,result; //上面的函数模板根据这里定义的数据类型,来确定具体执行时参数的类型
cout<<"pls input the x ,y ,z!"<<endl;
cin>>x>>y>>z;
result=max(x,y,z);
cout<<result<<endl; }break;
case 2:
{ float x,y,z,result;
cout<<"pls input the x ,y ,z!"<<endl;
cin>>x>>y>>z;
result=max(x,y,z);
cout<<result<<endl; }break;
default:cout<<"pls input the right letter! 1 or 2 !~"<<endl;
}
return 0;
}