版权声明:转载请声明原文链接地址,谢谢! https://blog.csdn.net/weixin_42859280/article/details/85217286
题目描述
分别用函数和带参的宏,从三个数中找出最大的数。
输入
3个实数
输出
最大的数,输出两遍,先用函数,再用宏。 保留3位小数。
样例输入
1 2 3
样例输出
3.000
3.000
来源/分类
C语言
题目截图:
思路:
宏函数:
就避免对a进行讨论啦!直接进行这两个筛选!
{if(b>=a&&b>=c) a=b;else if(c>=b&&c>=a) a=c;}
另外一个就是老生常谈啦:一个函数!
if(a>=b&&a>=c)
a=a;
else
if(b>=a&&b>=c)
a=b;
else
if(c>=b&&c>=a)
a=c;
代码:
#include <iostream>
#include<math.h>
using namespace std;
#define w(a,b,c) {if(b>=a&&b>=c) a=b;else if(c>=b&&c>=a) a=c;}
int q(int a,int b,int c)
{if(a>=b&&a>=c)
a=a;
else
if(b>=a&&b>=c)
a=b;
else
if(c>=b&&c>=a)
a=c;
return a;
}
char a[10000];
int main()
{
double x,y,z,m;
cin>>x>>y>>z;
m=q(x,y,z);
printf("%.3f\n",m);
w(x,y,z);
printf("%.3f",x);
}
代码截图:
运行结果:
OJ结果: