求助
查看原帖
求助
1308602
QwQ_QaQ_QuQ楼主2024/9/5 19:23
#include<bits/stdc++.h>
using namespace std;
#define int long long
inline int read()
{
    int x=0,f=1;
    char ch=getchar();
    while(ch<'0'||ch>'9')
    {
        if(ch=='-')
            f=-1;
        ch=getchar();
    }
    while(ch>='0' && ch<='9')
        x=x*10+ch-'0',ch=getchar();
    return x*f;
}
void write(int x)
{
    if(x<0)
        putchar('-'),x=-x;
    if(x>9)
        write(x/10);
    putchar(x%10+'0');
    return;
}
char ch,xname; int z=1,u=1,v,num[4]; double s;
signed main(){
	while(cin>>ch){
		if(ch=='+') num[2]+=z*u*num[3],num[3]=0,z=1,v=0;
		if(ch=='-') num[2]+=z*u*num[3],num[3]=0,z=-1,v=0;
		if(ch=='=') num[2]+=z*u*num[3],num[3]=0,z=1,v=0,u=-1;
		if(ch>='a'&&ch<='z'){
			if(v) num[1]+=z*v*num[3],num[3]=0;
			else num[1]+=z*v;
			xname=ch; v=0;
		}
		if(isdigit(ch)) num[3]=num[3]*10+(ch-'0'),v=1;
	}num[2]+=z*u*num[3];
	s=-num[2]*1.0/num[1];
	cout<<xname<<'='<<fixed<<setprecision(3)<<s;
	return 0;
}

2024/9/5 19:23
加载中...