在Dev-C++中测试样例和测试点1都正确,但提交结果0分

P1957 口算练习题

ninglg @ 2023-07-13 18:24:02

#include<bits/stdc++.h>
using namespace std;
int ti(string s){
    int l=s.size(),sum=0;
    for(int i=0;i<l;i++){
        sum=sum*10+s[i]-'0';
    }
    return sum;
}
int qc(int a){
    int sum=0;
    if(a<=0) sum++;
    while(a!=0){
        sum++;
        a=a/10;
    }
    return sum;
}
int main(){
    int i,l,y=0,a[2],ss=0,x=0,sum=2;
    string s,f;
    char yy;
    cin>>i;
    getline(cin,s);
    for(int j=1;j<=i;j++){
        getline(cin,s);
        l=s.size();
        if(isdigit(s[0])){
            y=1;
        }else{
            yy=s[0];
        }
        for(int u=0;u<l;u++){
            if(s[u]!=' '){
                f+=s[u];
                if(u==l-1||s[u+1]==' '){
                    ss++;
                    if(y==1||ss!=1){
                        sum+=f.size();
                        a[x]=ti(f);
                        x++;
                    }
                    f="";
                }
            }
        }
        if(yy=='a'){
            cout<<a[0]<<'+'<<a[1]<<'='<<a[0]+a[1]<<endl;
            sum+=qc(a[0]+a[1]);
        }else if(yy=='b'){
            cout<<a[0]<<'-'<<a[1]<<'='<<a[0]-a[1]<<endl;
            sum+=qc(a[0]-a[1]);
        }else{
            cout<<a[0]<<'*'<<a[1]<<'='<<a[0]*a[1]<<endl;
            sum+=qc(a[0]*a[1]);
        }
        cout<<sum<<endl;
        x=0,ss=0,y=0,sum=2;
    }
    return 0;
}

|