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

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

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

freeproblemset edit by lyh


 
  水题,模板函数练习 + 宏定义练习
  长时间不用,模板函数和宏定义都生疏了,回头重新巩固下。
  代码:
 1 #include <iostream>
 2 #include <iomanip>
 3 using namespace std;
 4 
 5 //宏定义
 6 //#define MAX(a,b,c) a>b?a>c?a:c:b>c?b:c;
 7 
 8 //模板函数
 9 template <class T>
10 T MAX(T a,T b,T c)
11 {
12     if(a>b && a>c)
13         return a;
14     else if(b>a && b>c)
15         return b;
16     else if(c>a && c>b)
17         return c;
18     else
19         return 0;
20 }
21 
22 int main()
23 {
24     short int i1,i2,i3,maxi;
25     double d1,d2,d3,maxd;
26     long l1,l2,l3,maxl;
27     cout<<setiosflags(ios::fixed);
28     cout<<setprecision(2);
29     cin>>i1>>i2>>i3;
30     maxi=MAX(i1,i2,i3);
31     cout<<maxi<<endl;
32     cin>>d1>>d2>>d3;
33     maxd=MAX(d1,d2,d3);
34     cout<<maxd<<endl;
35     cin>>l1>>l2>>l3;
36     maxl=MAX(l1,l2,l3);
37     cout<<maxl<<endl;
38     return 0;
39 }

 

Freecode : www.cnblogs.com/yym2013