实现一个函数模板,它能够根据需要返回两个给定值中的较小值或较大值。
本程序处理的输入每行包括四个输入(最后一行除外),第一个为输入数据的类型:1表示整型,2表示长整型,3表示字符型,4表示浮点型,0表示输入结束;第二个数字为比较的类型,1表示返回较大值,2表示返回较小值;第三个和第四个数是进行比较的数。
输入:
输出:
函数接口定义:
template
T m(T t, int task);
裁判测试程序样例:
#include <iostream>
using namespace std;
template <class T>
T m(T, int);
int main()
{
int ty, task;
cin>>ty;
while(ty!=0) {
cin>>task;
switch(ty){
case 1:cout<<m(0,task)<<endl;break;
case 2:cout<<m(0L,task)<<endl;break;
case 3:cout<<m('0',task)<<endl;break;
case 4:cout<<m(0.1, task)<<endl;
}
cin>>ty;
}
return 0;
}
/* 请在这里填写答案 */
输入样例:
1 1 6 9
2 2 6 9
3 1 a A
4 2 3.7 6.8
0
输出样例:
9
6
a
3.7
template<class T>
T m(T t, int task){
T a,b;
cin>>a>>b;
if(task==1){
if(a>b){
return a;
}
}else if(task==2){
if(a<b){
return a;
}
}
return b;
}
版权声明:本文为weixin_47581555原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。