所有案例都和答案一样,但是0分?!

P1957 口算练习题

JhonXu @ 2024-01-09 21:28:10

呜呜呜,求大佬帮助。 C++代码如下:

#include<iostream>
#include<string>
using namespace std;
int main(){
    int i=0;
    string s;
    cin >> i;
    cin.ignore();
    char op=' ';
    for( int j=0 ; j<i ;j++){
        getline(cin,s);
        char op1=op;
        int num1=0,num2=0,count=2,flag=0;
        op=s[0];
        if(s[0]<'a'||s[0]>'c'){
                op=op1; 
                flag=1;
            }
        string s1="",s2="";
        int t=0;
        if(flag==1){
            for(t=0;s[t]!=' ';t++){ 
                    s1+=s[t];
                    count++;
            }
        }   
        else{
                for(t=2;s[t]!=' ';t++){ 
                    s1+=s[t];
                    count++;
            }       
        }
        num1=stoi(s1);
        for(t=t+1;t<s.length();t++){
            s2+=s[t];
            count++;
        }
        num2=stoi(s2);
        int ans=0;
        if(op=='a'){
            ans=num1+num2;
            op='+';
        }
        if(op=='b'){
            ans=num1-num2;
            op='-';
        }
        if(op=='c'){
            ans=num1*num2;
            op='*';
        }
        string ls="";
        ls+=to_string(ans);
        cout << num1 << op << num2 << '=' << ans << endl << (count+ls.length()) << endl;
    }
    return 0;
}

|