求大佬

P1957 口算练习题

007刘哲宇 @ 2020-08-25 12:12:54

#include<bits/stdc++.h>
using namespace std;
string s;
int len,n;
int a,b,c;
int i,j,chack;
void ds()
{
    for(i=2;s[i]!=' ';i++)
        a=a*10+(s[i]-'0');
    for(j=i+1;j<len;j++)
        b=b*10+(s[j]-'0');  
}
void dss()
{
    for(i=0;s[i]!=' ';i++)
        a=a*10+(s[i]-'0');
    for(j=i+1;j<len;j++)
        b=b*10+(s[j]-'0');  
}
int ssize(int x,int k)
{
    int num=0;
    if(x<0)
    {
        num=1;
        x=abs(x);
        while(x!=0)
        {
            x/=10;
            num++;
        }
    }
    else if(x>0)
    {
        while(x!=0)
        {
            x/=10;
            num++;
        }
    }
    else num=1;
    return num+k;
}
int main()
{
    cin>>n;
    for(int k=1;k<=n+1;k++)
    {
        getline(cin,s);
        len=s.size();
        a=0;b=0;
        if(s[0]=='a')
        {
            ds();
            chack=1;
            cout<<a<<"+"<<b<<"="<<a+b<<endl;
            cout<<ssize(a+b,len-1)<<endl;
        }
        else if(s[0]=='b')
        {
            ds();
            chack=2;
            cout<<a<<"-"<<b<<"="<<a-b<<endl;
            cout<<ssize(a-b,len-1)<<endl;
        }
        else if(s[0]=='c')
        {
            ds();
            chack=3;
            cout<<a<<"*"<<b<<"="<<a*b<<endl;
            cout<<ssize(a*b,len-1)<<endl;
        }
        else
        {
            dss();
            if(chack==1) 
            {
                cout<<a<<"+"<<b<<"="<<a+b<<endl;
                cout<<ssize(a+b,len+1)<<endl;
            }
            if(chack==2) 
            {
                cout<<a<<"-"<<b<<"="<<a-b<<endl;
                cout<<ssize(a-b,len+1)<<endl;
            }
            if(chack==3) 
            {
                cout<<a<<"*"<<b<<"="<<a*b<<endl;
                cout<<ssize(a*b,len+1)<<endl;
            }
        }
    }
    return 0;
}

请问为什么我没有定数组,也会出现RE?


by 线段树小王子 @ 2020-08-25 12:18:59

数组和RE没有绝对关联啊


by 罗小黑小鱼 @ 2020-08-26 15:14:38

数组和RE没有关系呀


by 袁楷伦 @ 2020-09-07 19:45:40

~~暗示 (你数组越界了)~~


|