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