code
#include<bits/stdc++.h>
using namespace std;
int xs,zxs;
int sz[1001],wz,zf;
char dr,wzs;
int main()
{
xs=0.0;
zxs=0.0;
memset(sz,0,sizeof(sz));
wz=0;
zf=1;
cin>>dr;
while(dr!='=')
{
if(dr=='+')
{
zf=1;
wz++;
}
if(dr=='-')
{
zf=-1;
wz++;
}
if(dr<='9'&&dr>='0')
{
if(sz[wz]!=0) sz[wz]*10+(dr-'0')*dr;
else sz[wz]=(dr-'0')*dr;
}
if(dr<='z'&&dr>='a')
{
wzs=dr;
if(sz[wz])
{
zxs+=sz[wz];
sz[wz]=0;
wz--;
}
else zxs+=dr;
}
cin>>dr;
}
for(int i=0;i<=wz;i++) xs-=sz[i];
cin>>dr;
memset(sz,0,sizeof(sz));
wz=0;
while(dr!='\n')
{
if(dr=='+')
{
zf=1;
wz++;
}
if(dr=='-')
{
zf=-1;
wz++;
}
if(dr<='9'&&dr>='0')
{
if(sz[wz]!=0) sz[wz]*10+(dr-'0')*dr;
else sz[wz]=(dr-'0')*dr;
}
if(dr<='z'&&dr>='a')
{
if(sz[wz])
{
zxs-=sz[wz];
sz[wz]=0;
wz--;
}
else zxs-=dr;
}
cin>>dr;
}
for(int i=0;i<=wz;i++) xs+=sz[i];
if(!(xs/zxs)) cout<<wzs<<"=0.000";
else printf("%c=%.3lf",wzs,xs/zxs);
return 0;
}
结果
3a=4+5
(无结果,等待x5分钟)