题目:小s学会了加法和乘法运算和他们的优先级,还知道括号里的算式要优先计算,现在给小s3个数,a,b,c,小s想通过自己的知识得到这三个数运算可得到的最大值。
要求:
输入
第一行 a,b,c
输出
最大结果。
思路:
设计一个max(a,b)返回a+b,a*b中较大的那个数。
通过的代码:
#include<iostream>
#include<vector>
double max1(double a, double b)
{
if (a + b>a*b)
return a + b;
else
return a*b;
}
double max2(double a, double b, double c)
{
if (max1(max1(a, b), c)>max1(a, max1(b, c)))
return max1(max1(a, b), c);
else
return max1(a, max1(b, c));
}
using namespace std;
int main()
{
vector<double> tes;
double tmp;
double res;
while (cin >> tmp)
{
tes.push_back(tmp);
if (getchar() == '\n')
break;
}
res = max2(tes[0], tes[1], tes[2]);
cout << res << endl;
return 0;
}