10分求大佬援助!
查看原帖
10分求大佬援助!
1155909
jiangyixuan_eason楼主2024/9/25 21:13
#include<bits/stdc++.h>
using namespace std;

int sumfunction(int x){
	int sum=1;
	for(int i=1;i<=x;i++){
		sum*=10;
	}
	return sum;
}
int numberSize(int n){
	if(n/10000000>0){
		return 8;	
	}
	else if(n/1000000>0){
		return 7;	
	}
	else if(n/100000>0){
		return 6;
	}
	else if(n/10000>0){
		return 5;
	}
	else if(n/1000>0){
		return 4;
	}
	else if(n/100>0){
		return 3;
	}
	else if(n/10>0){
		return 2;
	}
	return 1;
}
int main(){
	int t;
	cin >>t;
	char flag='+';
	for(int i=0;i<t;i++){
		char s;
		cin >>s;
		int x,y;
		if(s=='a'){
			flag='+';
			cin >>x>>y;
		}
		else if(s=='b'){
			flag='-';
			cin >>x>>y;
		}
		else if(s=='c'){
			flag='*';
			cin >>x>>y;
		}
		else{
			cin >>x;
			cin >>y;
			int rns=numberSize(x);
			int atsm=(s-'0')/1;
			x=atsm*sumfunction(rns)+x;
		}
//		cout <<flag<<" "<<x<<" "<<y<<" "<<i; 
		int index;
		switch (flag) {
			case '+':
				index=x+y;
				break;
			case '-':
				index=x-y;
				break;
			case '*':
				index=x*y;
				break;
			default:
				break;
		}
		cout <<x<<flag<<y<<"="<<index<<endl;
		int cnt=numberSize(x)+numberSize(y)+numberSize(index)+2;
		cout <<cnt;
	}
	return 0;
}
2024/9/25 21:13
加载中...