您的位置:首页 > 其它

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

2015-04-15 08:46 204 查看

题目描述

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

输入

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;
}


学习心得:

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

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

但是我还是解释不了宏,容我有空问问度娘。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: