YTUOJ-从三个数中找出最大的数(带参数的宏)

题目描述

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

输入

3个短整型数,空格隔开

3个实数,空格隔开

3个长整数,空格隔开

输出

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

样例输入

1 2 3
1.5 4.7 3.2
1234567 12345 12345678

样例输出

3
4.70
12345678

提示

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



/* 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;

}

代码如下:

#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
#define MAX(a,b,c) a>b?(a>c?a:c):(b>c?b: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;
}


学习心得:

图就不截了,多留点时间敲代码。。

第一次接触宏的概念,感觉特别好用啊,省下了大部分编写函数的时间。

但是我还是解释不了宏,容我有空问问度娘。

 

 

你可能感兴趣的:(编程,C++,博客,宏,阅读)