提交时间:2024-12-11 18:52:07

运行 ID: 35466

#include<bits/stdc++.h> using namespace std; int k; string s1="000000000000000"; int main() { freopen("jpbakioi.in","r",stdin); freopen("jpbakioi.out","w",stdout); cin>>k; for(int i=0;i<k;i++) { string s; cin>>s; //cout<<s<<endl; double num[5]; memset(num,0,sizeof(num)); int flag=-1; int cnt=0; int leng=0; //cout<<s.length()<<endl; for(int j=0;j<s.length();j++) { if(s[j]=='x'||s[j]=='=') { cnt=0; flag++; //cout<<s1<<endl; int len=leng-1; bool bl=0; //cout<<len+1<<endl; for(int kk=0;kk<leng;kk++) { int tmp=0; if(s1[kk]!='+'&&s1[kk]!='-') tmp=s1[kk]-'0'; else if(s1[kk]=='-') { len--; bl=1; continue; } else if(s1[kk]=='+') { len--; //cout<<len<<"-"; //cout<<11111; continue; } //cout<<tmp<<endl; num[flag]=double(num[flag]+tmp*pow(10,len)); //cout<<num[flag]<<endl; len--; //cout<<len<<"-"; //cout<<11111; } if(bl==1) num[flag]-=2*num[flag]; //for(int ii=0;ii<s1.length();ii++) s1[ii]=0; s1="000000000000000"; //cout<<num[0]<<" "<<num[1]<<" "<<num[2]<<" "<<num[3]<<endl; leng=0; } else { s1[cnt]=s[j]; //cout<<s[j]<<endl; cnt++; leng++; } } cnt=0; flag++; //cout<<s1<<endl; int len=leng-1; bool bl=0; //cout<<len+1<<endl; for(int kk=0;kk<leng;kk++) { int tmp; if(s1[kk]!='+'&&s1[kk]!='-') tmp=s1[kk]-'0'; else if(s1[kk]=='-') { len--; bl=1; continue; } else if(s1[kk]=='+') { len--; continue; } //cout<<tmp<<endl; num[flag]=double(num[flag]+tmp*pow(10,len)); len--; } if(bl==1) num[flag]-=2*num[flag]; //for(int ii=0;ii<s1.length();ii++) s1[ii]=0; s1="000000000000000"; //cout<<num[0]<<" "<<num[1]<<" "<<num[2]<<" "<<num[3]<<endl; leng=0; double ans=(num[3]-num[1])/(num[0]-num[2]); if(ans==0) ans+=0.00001; cout<<fixed<<setprecision(3)<<ans<<endl; } return 0; }