10分,求助
查看原帖
10分,求助
1380750
xihe41017楼主2024/7/5 22:34

求助,才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;
}
2024/7/5 22:34
加载中...