求大佬帮我指指错,为啥我全RE了
#include<bits/stdc++.h>
using namespace std;
char str[1000005];
int i,p1,c1,p2,c2,o=1;
double ans;
char e;
int main(){
cin>>str;
while(str[i]!='='){
int alg=0,con=0,tmp=0;
while(str[i]!='+'&&str[i]!='-'){
while(str[i]>=48&&str[i]<=57){
tmp=tmp*10+str[i]-'0';
i++;
}
if(!(str[i]=='+'||str[i]=='-')){
e=str[i];
if(tmp==0){
if(o){
p1++;
}else{
p1--;
}
i++;
}else{
if(o){
p1+=tmp;
}else{
p1-=tmp;
}
i++;
}
}else{
if(o){
c1+=tmp;
}else{
c1-=tmp;
}
i++;
}
}
if(str[i]=='+'){
o=1;
}else{
o=0;
}
i++;
}
i++;o=1;
while(i<strlen(str)){
int alg=0,con=0,tmp=0;
while(str[i]!='+'&&str[i]!='-'){
while(str[i]>=48&&str[i]<=57){
tmp=tmp*10+str[i]-'0';
i++;
}
if(!(str[i]=='+'||str[i]=='-')){
e=str[i];
if(tmp==0){
if(o){
p2++;
}else{
p2--;
}
i++;
}else{
if(o){
p2+=tmp;
}else{
p2-=tmp;
}
i++;
}
}else{
if(o){
c2+=tmp;
}else{
c2-=tmp;
}
i++;
}
}
if(str[i]=='+'){
o=1;
}else{
o=0;
}
i++;
}
ans=(c2-c1)/(p1-p2);
printf("%c=%.3lf",e,ans);
return 0;
}
如果能指出错误的话,本蒟蒻万分感谢!