为什么过不了啊 自测都是对滴

P1957 口算练习题

代码写错了 666
by 已注销hUjZvzYv @ 2023-03-05 13:12:02


```cpp #include<bits/stdc++.h> using namespace std; int main() { int n; cin>>n; int x[n],y[n]; char c[n]; for(int i=0;i<n;++i){ string a; cin>>a; if(a[0]>='a'){ cin>>x[i]>>y[i]; c[i]=a[0]; } else{ int l=a.size(),j=0;x[i]=0; while(j<l){ x[i]=x[i]*10+(a[j]-'0'); ++j;} cin>>y[i]; c[i]=c[i-1]; } } for(int i=0;i<n;++i){ int s,e,f=1; if(c[i]=='a'){ s=x[i]+y[i]; e=abs(s); while(e>=10){ e/=10;++f; } printf("%d+%d=%d\n",x[i],y[i],s); } else if(c[i]=='b'){ s=x[i]-y[i]; e=abs(s); while(e>=10){ e/=10;++f; } printf("%d-%d=%d\n",x[i],y[i],s); } else{ s=x[i]*y[i]; e=abs(s); while(e>=10){ e/=10;++f; } printf("%d*%d=%d\n",x[i],y[i],s); } if(s<0)++f; while(x[i]>=10){ x[i]/=10;++f; } while(y[i]>=10){ y[i]/=10;++f; } printf("%d\n",f+4); } } ``` 用getline会从第一行开始读,过不了
by Zbc20211226 @ 2023-03-19 19:33:27


|