大佬们救救我吧!!
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a=0,b=0;//a-未知数系数,b-常数和
char c;//未知数
bool flag=0;//0为等号左边,1为等号右边(未知数在左,常数在右)
int m=0,zf=1;//zf-数字正负
while(1)
{
char ch=getchar();
if(ch=='\n')
break;
while(ch>='0' && ch<='9')//数字就加
{
m=m*10+ch-'0';
ch=getchar();
}
if(ch >= 'a' && ch <= 'z')//加未知数 系数
{
c = ch;
m *= zf;//正负
if(!flag)//在左边直接加,在右边加相反数
a+=m;
else a-=m;
}
else
{
if(m!=0)//加常数
{
m*=zf;//正负
if(!flag)//在右边直接加,在左边加相反数
b-=m;
else b+=m;
}
if(ch == '+')//正负处理
zf = 1;
else if(ch == '-')
zf = -1;
else flag = 1, zf = 1;//等于号处理
}
m = 0;
}
printf("%c=%.3f\n",c,b*1.0/a);
return 0;
}