题目链接:https://vjudge.net/problem/ZOJ-3782
给你一个长度为n的式子,让你进行运算,包括加法,减法,除法,乘法,取余。
这个是错误代码:主要是对一连串的*和/以及%不清楚怎么弄。
#include <iostream>
#include <cstring>
#include <algorithm>
#include <cstring>
#include<cstdio>
using namespace std;
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
getchar();
while(n--)
{
int a,b,c;
char s1,s2;
int sum=0;
cin>>a>>s1>>b>>s2>>c;
if(s1=='*')
{
sum=a*b;
if(s2=='-')
sum-=c;
else if(s2=='+')
sum+=c;
else if(s2=='%')
sum%=c;
else if(s2=='*')
sum*=c;
else if(s2=='/')
sum/=c;
cout<<sum<<endl;
}
else if(s1=='/')
{
sum=a/b;
if(s2=='-')
sum-=c;
else if(s2=='+')
sum+=c;
else if(s2=='%')
sum%=c;
else if(s2=='*')
sum*=c;
else if(s2=='/')
sum/=c;
printf("%d\n",sum);
}
else if(s1=='%')
{
sum=a%b;
if(s2=='-')
sum-=c;
else if(s2=='+')
sum+=c;
else if(s2=='%')
sum%=c;
else if(s2=='*')
sum*=c;
else if(s2=='/')
sum/=c;
printf("%d\n",sum);
}
else if(s1=='+')
{
if(s2=='-')
sum=b-c;
else if(s2=='+')
sum=b+c;
else if(s2=='%')
sum=b%c;
else if(s2=='*')
sum=b*c;
else if(s2=='/')
sum=b/c;
sum+=a;
printf("%d\n",sum);
}
else if(s1=='-')
{
if(s2=='-')
sum=a-b-c;
else if(s2=='+')
sum=a-b+c;
else if(s2=='%')
sum=a-(b%c);
else if(s2=='*')
sum=a-(b*c);
else if(s2=='/')
sum=a-(b/c);
printf("%d\n",sum);
}
}
}
return 0;
}