?
查看原帖
?
1285950
4041nofoundGeoge楼主2024/4/19 15:09
#include <bits/stdc++.h>
using namespace std;
int wei(int x)
{
	int cnt=0;
	int q=x;
	while(q!=0)
	{
		cnt++;
		q/=10;
	}
	return cnt;
}
int szi(string x)
{
	int sum=0;
	for(int i=0;i<=x.size()-1;i++)
	{
		sum=sum*10+x[i]-'0';
	}
	return sum;
}
int main()
{
	int n;
	cin>>n;
	int last;
	for(int i=1;i<=n;i++)
	{
		
		int ans=0;
		int len=0;
		string m;
		string a,b;
		cin>>m>>a;
		if(m=="a")
		{
			last=1;
			cin>>b;
			ans=szi(a)+szi(b);
			len=a.size()+b.size()+2+wei(ans);
			printf("%s+%s=%d\n%d\n",a.c_str(),b.c_str(),ans,len);
		}
		else if(m=="b")
		{
			last=2;
			cin>>b;
			ans=szi(a)-szi(b);
			len=a.size()+b.size()+2+wei(ans); 
			printf("%s-%s=%d\n%d\n",a.c_str(),b.c_str(),ans,len);
		}
		else if(m=="c")
		{
			last=3;
			cin>>b;
			ans=szi(a)*szi(b);
			len=a.size()+b.size()+2+wei(ans); 
			printf("%s*%s=%d\n%d\n",a.c_str(),b.c_str(),ans,len);
		} 
		else
		{
			b=a;
			a=m;
			if(last==1)
			{
				ans=szi(a)+szi(b);
				len=a.size()+b.size()+2+wei(ans);
				printf("%s+%s=%d\n%d\n",a.c_str(),b.c_str(),ans,len);
			}
			else if(last==2)
			{
				ans=szi(a)-szi(b);
				len=a.size()+b.size()+2+wei(ans);
				printf("%s-%s=%d\n%d\n",a.c_str(),b.c_str(),ans,len);
			}
			else if(last==3)
			{
				ans=szi(a)*szi(b);
				len=a.size()+b.size()+2+wei(ans);
				printf("%s*%s=%d\n%d\n",a.c_str(),b.c_str(),ans,len);
			}
			
		}
	}
	return 0;
}

2024/4/19 15:09
加载中...