C++样例过了,但全WA!!求大佬指正!!

P1957 口算练习题

abcd66666 @ 2023-11-24 21:03:20

 #include<bits/stdc++.h>
using namespace std;
int main(){char fh[10000];
int x,y,z,i,k=50,j,m,n,cnt;
cin>>i;
while(i--){
    cin>>fh[k]>>x>>y;
    m=x;n=y;
    do{x/=10,cnt++;} while(x!=0);
    do{y/=10,cnt++;} while(y!=0);
    if(fh[k]!='a'&&fh[k]!='b'&&fh[k]!='c') k-=1;
    if(fh[k]=='a'){z=m+n;cout<<m<<"+"<<n<<"="<<m+n<<endl;
    do{z/=10,cnt++;} while(z!=0);
    cout<<cnt+2;
    cnt=0;
    }
    else if(fh[k]=='b'){z=m-n;cout<<m<<"-"<<n<<"="<<m-n<<endl;
    do{z/=10,cnt++;} while(z!=0);
    cout<<cnt+2;
    cnt=0;
    }
    else if(fh[k]=='c'){z=m*n;cout<<m<<"*"<<n<<"="<<m*n<<endl;
    do{z/=10,cnt++;} while(z!=0);
    cout<<cnt+2;
    cnt=0;
    }
    k++;}
return 0;
}

by danlao @ 2023-11-24 21:32:43

4\\a\,64\,46\\275\,125\\c\,11\,99\\b\,46\, 64

它有时不输入字母!


by dmx7u19x @ 2023-11-25 13:45:59

int u=scanf("%c%d%d",&c,&a,&b);

当u==1时表示输入了字母

u==3时表示只输入了两个数字


|