求调!!!
查看原帖
求调!!!
776799
GODTREE楼主2022/11/10 09:57
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
    string s;
    char w;
    int d;
    cin>>s;
    for (int i = 0; i < s.length(); i++) {
        if (s[i]>'a'&&s[i]<='z')
        {
           w=s[i]; 
        }
        if (s[i]=='=')
        {
            d=i;
        }
    }
    int zn=0,zx=0;
    for (int i = 0; i < d; i++) {//合并左边同类项
        if (s[i]=='+')
        {
            int j=i+1;
            bool flag=true;
            int a=0;
            while (s[j]!='+'&&s[j]!='-'&&s[j]!='=')
            {
                if (s[j]==w)
                {
                   flag=false;
                   zx+=a;
                }
                else
                {
                    a*=10;
                    a+=s[j]-'0';
                }
                j++;
            }
            if (flag)
            {
                zn+=a;
            }
            i=j;
        }
    }
    int yn=0,yx=0;
    for (int i = d+1; i < s.length(); i++) {//合并右边同类项
        if (s[i]=='+')
        {
            int j=i+1;
            bool flag=true;
            int a=0;
            while (s[j]!='+'&&s[j]!='-'&&s[j]!='=')
            {
                if (s[j]==w)
                {
                   flag=false;
                   yx+=a;
                }
                else
                {
                    a*=10;
                    a+=s[j]-'0';
                }
                j++;
            }
            if (flag)
            {
                yn+=a;
            }
            i=j;
        }
    }
    int sumx,sumn;
    sumx=zx-yx;
    sumn=zn-yn;
    cout<<w;
    cout<<"=";
    printf("3lf",sumn/sumx);
    return 0;
}
2022/11/10 09:57
加载中...