求助,才10分,本地测试通过了
#include <iostream>
#include <string>
using namespace std;
int wsme(int x){
int num=0;
if(x<0){
while(x<0){
x/=10;
num++;
}
num++;
}else{
while(x>0){
x/=10;
num++;
}
}
while(x>0){
x/=10;
num++;
}
return num;
}
int main(){
int n,a,b;
cin >> n;
char type;
string de;
for(int i=0;i<n;i++){
cin >> de;
if(de[0]=='a' || de[0]=='b' || de[0]=='c'){
type=de[0];
cin >> a >> b;
}else{
a=0;
for(int j=0;j<de.length();j++){
a+=(int)(de[j]-'0');
if(j!=de.length()-1) a*=10;
}
cin >> b;
}
int cut;
if(type=='a'){
cut=a+b;
cout << a << "+" << b << "=" << cut << endl << wsme(a)+wsme(b)+wsme(cut)+2;
}
else if(type=='b'){
cut=a-b;
cout << a << "-" << b << "=" << cut << endl << wsme(a)+wsme(b)+wsme(cut)+2;
}
else if(type=='c'){
cut=a*b;
cout << a << "*" << b << "=" << cut << endl << wsme(a)+wsme(b)+wsme(cut)+2;
}
}
return 0;
}