0分RE蒟蒻求助
查看原帖
0分RE蒟蒻求助
531258
Fishmaster楼主2021/8/18 17:26

求大佬帮我指指错,为啥我全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;
}

如果能指出错误的话,本蒟蒻万分感谢!

2021/8/18 17:26
加载中...