```cpp
#include<bits/stdc++.h>
using namespace std;
int c[1001],n,b[1001],a1[1001];
string a[1001];
int main() {
char ch1,ch,chh[1001];
cin>>n;
for(int i=1;i<=n;i++){
cin>>ch1;
if(ch1>'9'||ch1<'0')
ch=ch1;
cin>>a[i]>>b[i];
if(ch1<='9'&&ch1>='0'){
a1[i]=ch1-'0';
for(int j=1;j<=a[i].length();j++)
a1[i]=a1[i]*10+a[i][j-1]-'0';
}
else{
a1[i]=0;
for(int j=0;j<a[i].length();j++)
a1[i]=a1[i]*10+a[i][j]-'0';
}
if(ch=='a'){
c[i]=(a1[i])+b[i];chh[i]='+';
}
else if(ch=='b'){
c[i]=(a1[i])-b[i];chh[i]='-';
}
else {
c[i]=(a1[i])*b[i];chh[i]='*';
}
}
for(int i=1;i<=n;i++){
int sum=2;
printf("%d%c%d=%d\n",a1[i],chh[i],b[i],c[i]);
if(c[i]<0)
sum++;
if(a1[i]==0)sum++;
if(b[i]==0)sum++;
if(c[i]==0)sum++;
while(a1[i]!=0)
{
a1[i]/=10;sum++;
}
while(b[i]!=0)
{
b[i]/=10;sum++;
}
while(c[i]!=0)
{
c[i]/=10;sum++;
}
cout<<sum<<endl;
}
return 0;
}
```
by possibleadmin @ 2024-02-22 11:06:57
如果你的算试像这样,如 $0+0=0$ 是无法成功计算长度的,因为进不去数位分解的while
by possibleadmin @ 2024-02-22 11:08:47
@[lucy2012](/user/1252442)
by possibleadmin @ 2024-02-22 11:09:11
@[possibleadmin](/user/700091) 谢谢!
by lucy2012 @ 2024-02-22 11:11:34