再发一次
  • 板块学术版
  • 楼主yszkddzyh
  • 当前回复4
  • 已保存回复4
  • 发布时间2022/10/16 21:09
  • 上次更新2023/10/27 07:11:42
查看原帖
再发一次
737158
yszkddzyh楼主2022/10/16 21:09

怎么没人回我(急)?

#include <bits/stdc++.h>
using namespace std;
struct ss
{
    int a,b,c;
    char op;
};
int qw(int x)
{
    int s=0;
    if(x<0)
    {
        x=-x;
        s++;
    }
    while(x>0)
    {
        x/=10;
        s++;
    }
    return s;
}
ss t[10005];
int l[10005];
int main()
{
    int n,a,b,p,x;
    char f,c;
    string s;
    cin>>n;
    getline(cin,s);
    for(int k=0;k<n;k++)
    {
        getline(cin,s);
        x=0;
        a=b=0;
        if(s[0]>='a'&&s[0]<='c')
        {
            x=1;
            c=s[0];
            f=c;
        }
        for(int i=s.size()-1,j=1;i>=0;i--,j*=10)
        {
            if(s[i]==' ')
            {
                p=i;
                break;
            }
            b+=(s[i]-'0')*j;
        }
        for(int i=p-1,j=1;i>=0;i--,j*=10)
        {
            if(s[i]==' ')
            {
                break;
            }
            a+=(s[i]-'0')*j;
        }
        if(f=='a')
        {
            if(x==1)
            {
                t[k].a=a;
                t[k].op='+';
                t[k].b=b;
                t[k].c=a+b;
                l[k]=s.size()-1+qw(a+b);
            }
            else
            {
                t[k].a=a;
                t[k].op='+';
                t[k].b=b;
                t[k].c=a+b;
                l[k]=s.size()+1+qw(a+b);
            }
        }
        if(f=='b')
        {
            if(x==1)
            {
                t[k].a=a;
                t[k].op='-';
                t[k].b=b;
                t[k].c=a-b;
                l[k]=s.size()-1+qw(a-b);
            }
            else
            {
                t[k].a=a;
                t[k].op='-';
                t[k].b=b;
                t[k].c=a-b;
                l[k]=s.size()+1+qw(a-b);
            }
        }
        if(f=='c')
        {
            if(x==1)
            {
                t[k].a=a;
                t[k].op='*';
                t[k].b=b;
                t[k].c=a*b;
                l[k]=s.size()-1+qw(a*b);
            }
            else
            {
                t[k].a=a;
                t[k].op='*';
                t[k].b=b;
                t[k].c=a*b;
                l[k]=s.size()+1+qw(a*b);
            }
        }
    }
    for(int i=0;i<n;i++)
    {
        cout<<t[i].a<<t[i].op<<t[i].b<<'='<<t[i].c<<endl<<l[i]<<endl;;
    }
    return 0;
}

麻烦dalao们看一下哪里错了,本蒟蒻在此栓Q(急)。

2022/10/16 21:09
加载中...