40分,救命

P1957 口算练习题

rnf5114 @ 2023-04-17 19:09:31

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

by Sun_Email @ 2023-04-17 21:16:34

(不过好像a<=0的时候确实有点问题哈)


|