#include<iostream>
#include<cstring>
using namespace std;
int len(int a){
int cnt=0;
if(a==0)return 1;
if(a<0){
a=-a;
cnt++;
}
while(a>0){
cnt++;
a/=10;
}
return cnt;
}
int main(){
int n,flag;
cin>>n;
for(int i=1;i<=n;i++){
char tmp[6],a[6],b[6],s;
int ic,ia=0,ib=0;
cin>>tmp;
if(tmp[0]>='a'&&tmp[0]<='c'){
flag=tmp[0]-'a';
cin>>a>>b;
}else{
for(int j=0;j<strlen(tmp);j++){
a[j]=tmp[j];
}
cin>>b;
}
for(int j=0;j<strlen(a);j++){
ia=int(a[j]-'0')+ia*10;
}
for(int j=0;j<strlen(b);j++){
ib=int(b[j]-'0')+ib*10;
}
if(flag==0){
ic=ia+ib;
s='+';
}
if(flag==1){
ic=ia-ib;
s='-';
}
if(flag==2){
ic=ia*ib;
s='*';
}
cout<<ia<<s<<ib<<"="<<ic<<endl;
cout<<len(ia)+len(ib)+len(ic)+2<<endl;
}
return 0;
}
这段代码总是会输出奇怪数字,向各位大佬请教