样例过了0分求调

P1957 口算练习题

Lhy153 @ 2024-01-23 09:10:35

#include<bits/stdc++.h> 
using namespace std;
int n;
char r[55];
int hhh(int x,int y,int z){
    int n;
    if(z<0) n++,z=-z; 
    while(x>0) x=x/10,n++;
    while(y>0) y=y/10,n++;
    while(z>0) z=z/10,n++;
    return n+2;
}
int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        char a[10086];
        int b,c;
        cin>>a>>b;
        if(a[0]!='a'&&a[0]!='b'&&a[0]!='c'){
            int e=atoi(a);
            for(int j=i;j>=1;j--){
                if(r[j]!='a'&&r[j]!='b'&&r[j]!='c') continue;
                else{
                    if(r[j]=='b'){
                        cout<<e<<"-"<<b<<"="<<e-b<<endl;
                        cout<<hhh(e,b,e-b)<<endl;
                    }
                    else if(r[j]=='c'){
                        cout<<e<<"*"<<b<<"="<<e*b<<endl;
                        cout<<hhh(e,b,e*b)<<endl;
                    }
                    else if(r[j]=='a'){
                        cout<<e<<"+"<<b<<"="<<e+b<<endl;
                        cout<<hhh(e,b,e+b)<<endl;
                    }
                }
            }
        }
        else if(a[0]=='b'){
            cin>>c;
            r[i]=a[0];
            cout<<b<<"-"<<c<<"="<<b-c<<endl;
            cout<<hhh(b,c,b-c)<<endl;
        }
        else if(a[0]=='c'){
            cin>>c;
            r[i]=a[0];
            cout<<b<<"*"<<c<<"="<<b*c<<endl;
            cout<<hhh(b,c,b*c)<<endl;
        }
        else if(a[0]=='a'){
            cin>>c;
            r[i]=a[0];
            cout<<b<<"+"<<c<<"="<<b+c<<endl;
            cout<<hhh(b,c,b+c)<<endl;
        }
    }
    return 0;
}

by summer_000 @ 2024-02-02 16:41:04

最后一次输出后还多换了一行,导致输出了空行,可以在每次输出后判断该次输出是否为最后一次输出,若不是最后一次输出,则换行。


|