ytu 1061: 从三个数中找出最大的数(水题,模板函数练习 + 宏定义练习)

时间:2020-12-05 09:38:10

1061: 从三个数中找出最大的数

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 154  Solved: 124
[Submit][Status][Web Board]

Description

定义一个带参的宏(或者模板函数),从三个数中找出最大的数。

Input

3个短整型数,空格隔开

3个实数,空格隔开

3个长整数,空格隔开

Output

最大的数,对于实数保留2位小数。

Sample Input

1 2 3
1.5 4.7 3.2
1234567 12345 12345678

Sample Output

3
4.70
12345678

HINT

主函数已给定如下,提交时不需要包含,会自动添加到程序尾部

 
/* C++代码 */
 
int main()
{
    short int i1,i2,i3,maxi;
    double d1,d2,d3,maxd;
    long l1,l2,l3,maxl;
    cout<<setiosflags(ios::fixed);
    cout<<setprecision(2);
    cin>>i1>>i2>>i3;
    maxi=MAX(i1,i2,i3);
    cout<<maxi<<endl;
    cin>>d1>>d2>>d3;
    maxd=MAX(d1,d2,d3);
    cout<<maxd<<endl;
    cin>>l1>>l2>>l3;
    maxl=MAX(l1,l2,l3);
    cout<<maxl<<endl;
    return 0;
}
 

Source

 
  水题,模板函数练习 + 宏定义练习
  长时间不用,模板函数和宏定义都生疏了,回头重新巩固下。
  代码:
 #include <iostream>
#include <iomanip>
using namespace std; //宏定义
//#define MAX(a,b,c) a>b?a>c?a:c:b>c?b:c; //模板函数
template <class T>
T MAX(T a,T b,T c)
{
if(a>b && a>c)
return a;
else if(b>a && b>c)
return b;
else if(c>a && c>b)
return c;
else
return ;
} int main()
{
short int i1,i2,i3,maxi;
double d1,d2,d3,maxd;
long l1,l2,l3,maxl;
cout<<setiosflags(ios::fixed);
cout<<setprecision();
cin>>i1>>i2>>i3;
maxi=MAX(i1,i2,i3);
cout<<maxi<<endl;
cin>>d1>>d2>>d3;
maxd=MAX(d1,d2,d3);
cout<<maxd<<endl;
cin>>l1>>l2>>l3;
maxl=MAX(l1,l2,l3);
cout<<maxl<<endl;
return ;
}

Freecode : www.cnblogs.com/yym2013