把我的代码放到DevC++:正常运行;在洛谷:编译失败
查看原帖
把我的代码放到DevC++:正常运行;在洛谷:编译失败
1075989
BlauAnthony楼主2024/12/20 18:31

死亡回放: https://www.luogu.com.cn/record/list?pid=P1022&user=1075989

代码:

#include<iostream>
#include<cstring>
using namespace std;
int main(){
	string s;cin>>s;
	int tmp=0,cnum=0,xnum=0,i;
	bool nowf=true;
	char w;
	for(i=0;s[i]!='=';i++){
		if(s[i]=='-'){
			cnum+=nowf?tmp:-tmp;
			nowf=false;
			tmp=0;
		}else if(s[i]=='+'){
			cnum+=nowf?tmp:-tmp;
			nowf=true;
			tmp=0;
		}else if(s[i]<='9'&&s[i]>='0'){
			tmp*=10;
			tmp+=s[i]-'0';
		}else if(s[i]<='z'&&s[i]>='a'){
			w=s[i];
			xnum+=nowf?tmp:-tmp;
			tmp=0;
		} 
	}
	cnum+=tmp;
	tmp=0;nowf=true;
	int cnum1=0,xnum1=0;
	while(i<s.size()){
		if(s[i]=='-'){
			cnum1+=nowf?tmp:-tmp;
			nowf=false;
			tmp=0;
		}else if(s[i]=='+'){
			cnum1+=nowf?tmp:-tmp;
			nowf=true;
			tmp=0;
		}else if(s[i]<='9'&&s[i]>='0'){
			tmp*=10;
			tmp+=s[i]-'0';
		}else if(s[i]<='z'&&s[i]>='a'){
			w=s[i];
			xnum1+=nowf?tmp:-tmp;
			tmp=0;
		}
		i++;
	}
	cnum1+=tmp;
	cnum1-=cnum;cnum=cnum1;
	xnum-=xnum1;
	xnum=(xnum==0?1:xnum);
	int result=cnum*1000/xnum;
	cout<<w<<'='<<result/1000<<'.';
	cout<<result%1000/100==0?0:result%1000/100;
	cout<<result%100/10==0?0:result%100/10;
	cout<<result%10/1==0?0:result%10/1;
	return 0;
}
2024/12/20 18:31
加载中...