网易测评题-----表达式求值

今天上课,老师教了小易怎么计算加法和乘法,乘法的优先级大于加法,但是如果一个运算加了括号,那么它的优先级是最高的。例如:
1
2
3
4
1+23=7
1
(2+3)=5
123=6
(1+2)3=9
现在小易希望你帮他计算给定3个数a,b,c,在它们中间添加"+", "
", “(”, ")"符号,能够获得的最大值。

输入描述:
一行三个数a,b,c (1 <= a, b, c <= 10)

输出描述:
能够获得的最大值

输入例子1:
1 2 3

输出例子1:
9

代码如下:
#include
using namespace std;

int main()
{
int a,b,c;
cin>>a;
cin>>b;
cin>>c;
while(a<1 || a>10 || b<1 || b>10 || c<1 || c>10)
{
cin>>a;
cin>>b;
cin>>c;
}
int m[6];
for(int w=0;w<6;w++)
{
m[w]=0;
};
m[0]=a+b+c;
m[1]=abc;
m[2]=(a+b)c;
m[3]=a
(b+c);
m[4]=ab+c;
m[5]=a+b
c;

int kd;
for(int dd=5;dd>=0;dd--)
{
    if(m[dd]>=m[dd-1])
    {
        kd=m[dd];
        m[dd]=m[dd-1];
        m[dd-1]=kd;
    }
}
cout<

};

你可能感兴趣的:(VC++技术问题)