第六个点不过
查看原帖
第六个点不过
1163304
WCDYYAZHQ楼主2024/10/11 16:53
#include<iostream>
#include<cstdio>
using namespace std;
string s;
int n;
int f[128];
char X;
int pos=1;
int A,B; 
int i;
void read(){
	int t=0;
	int p=1;
	if(s[i]=='-'){
		p=-1;
	}
	i++;
	while(f[s[i]]==2){
		t=t*10+s[i]-'0';
		i++;
	}
	if(f[s[i]]==3){
		X=s[i];
		A+=t*pos*p;
		i++;
	}
	else{
		B+=t*pos*p;
	}
}
int main(){
	f['+']=1;
	f['-']=1;
	for(int j='0';j<='9';j++){
		f[j]=2;
	}
	for(int j='a';j<='z';j++){
		f[j]=3;
	}
	f['=']=4;
	cin>>s;
	int t=0;
	s='+'+s+"@";
	while(i<s.size()-1){
		read();
		if(s[i]=='='){
			if(f[s[i+1]]==2){
				s[i]='+';
			}
			else i++;
			pos=-1;
		}
	}
//	cout<<A<<" "<<B<<endl;
	printf("%c=%.3lf",X,-B*1.0/A);
	return 0;
}
2024/10/11 16:53
加载中...