这题,不难,想了一会,1A,
代码:
#include<cstdio>
#include<cstring>
#include<cmath>
#include<cstdlib>
#include<string>
#include<set>
#include<map>
#include<iostream>
#include<algorithm>
#include<vector>
#include<cctype>
#include<queue>
#define LL long long
using namespace std;
const int maxn=1e7+10;
const double eps=1e-8;
const int Max=2147483647;
LL s_min(string s)
{
LL sum=0;
int num=0;
LL flag=1;
for(int i=0;i<=s.length();i++)
{
if(s[i]=='*')
{
flag*=num;
num=0;
}
else if(i==s.length()||s[i]=='+')
{
sum=sum+num*flag;
num=0;
flag=1;
}
else
{
num=num*10+s[i]-'0';
}
}
return sum;
}
LL s_max(string s)
{
LL sum=1;
int num=0;
int flag=0;
for(int i=0;i<=s.length();i++)
{
if(s[i]=='+')
{
flag+=num;
num=0;
}
else if(i==s.length()||s[i]=='*')
{
sum=sum*(flag+num);
flag=0;
num=0;
}
else
{
num=num*10+s[i]-'0';
}
}
return sum;
}
int main()
{
int n;
cin>>n;
while(n--)
{
string s;
cin>>s;
printf("The maximum and minimum are %lld and %lld.\n",s_max(s),s_min(s));
}
return 0;
}