天有不测风云 @ 2021-02-02 21:26:42
#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
int size2(int n)
{
if(n<-100000) return 7;
else if(n<-10000) return 6;
else if(n<-1000) return 5;
else if(n<-100) return 4;
else if(n<-10) return 3;
else if(n<0) return 2;
else if(n==0) return 1;
else if(n<10) return 1;
else if(n<100) return 2;
else if(n<1000) return 3;
else if(n<10000) return 4;
else if(n<100000) return 5;
else if(n<1000000) return 6;
else if(n<10000000) return 7;
else if(n<100000000) return 8;
else if(n<1000000000) return 9;
}
int size(int a,int b,int c)
{
return size2(a)+size2(b)+size2(c)+2;
}
int count(char c,int a,int b)
{
if(c=='a') return a+b;
if(c=='b') return a-b;
if(c=='c') return a*b;
}
int main()
{
char ch,ch1;
int a,b,c;
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
getchar();
ch=getchar();
// cout<<"ab"<<a<<' '<<b<<endl;
if((ch>='1')&&(ch<='9'))
{
cin>>a>>b;
a=(ch-'0')*pow(10,size2(a))+a;
c=count(ch1,a,b);
cout<<a;
if(ch1=='a') cout<<'+';
if(ch1=='b') cout<<'-';
if(ch1=='c') cout<<'*';
cout<<b<<'='<<c<<endl<<size(a,b,c)<<endl;
}
else
{
getchar();
cin>>a>>b;
c=count(ch,a,b);
// cout<<'c'<<c<<endl;
cout<<a;
if(ch=='a') cout<<'+';
if(ch=='b') cout<<'-';
if(ch=='c') cout<<'*';
cout<<b<<'='<<c<<endl<<size(a,b,c)<<endl;
}
ch1=ch;
}
return 0;
}
本地能过,在线IDE能过