为啥只对了两个
查看原帖
为啥只对了两个
945742
hexuchen楼主2023/6/12 17:08
#include <bits/stdc++.h>
using namespace std;
int sum(int a){
	int s=0;
	while(a!=0){
		s++;
		a/=10;
	}
	return s;
}
int main(){
	long long n,a,b,base=1;
	string s;
	char c;
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>s;
		if(isalpha(s[0])){
			c=s[0];
			cin>>a>>b;
			switch(c){
				case 'a':printf("%d+%d=%d\n%d\n",a,b,a+b,sum(a)+sum(b)+sum(a+b)+2);break;
				case 'b':printf("%d-%d=%d\n%d\n",a,b,a-b,sum(a)+sum(b)+sum(a-b)+2);break;
				case 'c':printf("%d*%d=%d\n%d\n",a,b,a*b,sum(a)+sum(b)+sum(a*b)+2);break;
			} 
		} 
		else{
			base=1;
			a=0;
			for(int i=s.size()-1;i>=0;i--){
				a+=(s[i]-'0')*base;
				base*=10;
			}
			cin>>b;
			switch(c){
				case 'a':printf("%d+%d=%d\n%d\n",a,b,a+b,sum(a)+sum(b)+sum(a+b)+2);break;
				case 'b':printf("%d-%d=%d\n%d\n",a,b,a-b,sum(a)+sum(b)+sum(a-b)+2);break;
				case 'c':printf("%d*%d=%d\n%d\n",a,b,a*b,sum(a)+sum(b)+sum(a*b)+2);break;
			} 
		}
	}
	return 0;
}

我下载了测试点发现自己也没有错误啊?

2023/6/12 17:08
加载中...