70分,代码没问题没超时
查看原帖
70分,代码没问题没超时
499746
yyyymh楼主2022/4/3 10:42

代码如下:

#include <bits/stdc++.h>
using namespace std;
int wtf(int n,int m){
	int s=n;
	for(int i=1;i<=m-1;i++){
		n*=s;
	}
	return n;
}
int chao(int n){
	int sum=0;
	if(n<0){
		sum=1;
		n*=-1;
	}
	while(n>0){
		n/=10;
		sum++;
	}
	return sum;
}
int main(){
	int n,b,c;
	cin>>n;
	char a,q;
	for(int i=1;i<=n;i++){
		cin>>a>>b>>c;
		if(a!='a'&&a!='b'&&a!='c'){
			b+=wtf(10,chao(b))*(int(a)-48);
			if(q=='a'){
				cout<<b<<"+"<<c<<"="<<b+c<<endl<<chao(b)+chao(c)+chao(b+c)+2<<endl;
			}
			else if(q=='b'){
				cout<<b<<"-"<<c<<"="<<b-c<<endl<<chao(c)+chao(b)+chao(b-c)+2<<endl;
			}
			else{
				cout<<b<<"*"<<c<<"="<<b*c<<endl<<chao(c)+chao(b)+chao(b*c)+2<<endl;
			}
		}
		else{
			q=a;
			if(q=='a'){
				cout<<b<<"+"<<c<<"="<<b+c<<endl<<chao(b)+chao(c)+chao(b+c)+2<<endl;
			}
			else if(q=='b'){
				cout<<b<<"-"<<c<<"="<<b-c<<endl<<chao(c)+chao(b)+chao(b-c)+2<<endl;
			}
			else{
				cout<<b<<"*"<<c<<"="<<b*c<<endl<<chao(c)+chao(b)+chao(b*c)+2<<endl;
			}
		}
	}
	return 0;
}

一旦输入的是a,输出的时候b和c就一样了 例子: a 1 2 输出: 1+1=3 5

麻烦大佬看看,感谢感谢
2022/4/3 10:42
加载中...