80分求助
查看原帖
80分求助
1271781
zhangchenyi_awa楼主2024/10/15 20:52

代码:

#include <bits/stdc++.h>
using namespace std;
char c,p;
string s,temp;
int in1,in2,flag;
long long n1,n2,n;
int main(){
	while (cin >>c){
		if(c!=' '){
			s+=c;
		}
	}
	cout <<s <<"\n";
	if(s.find("+")==string::npos){
		in1=s.find("-");
	}
	else{
		in1=s.find("+");
	}
	p=s[in1];
	in2=s.find("=");
	temp=s.substr(0,in1);
	if(temp=="?"){
		flag=1;
	}
	else{
		for(int i=0;i<temp.length();i++){
			n=n*10+temp[i]-'0';

		}
		n1=n;
		n=0;
	}
	temp=s.substr(in1+1,in2-in1-1);
	if(temp=="?"){
		flag=2;
	}
	else{
		for(int i=0;i<temp.length();i++){
			n=n*10+temp[i]-'0';
		}
		if(flag==0) {
			n2=n;
		}
		else {
			n1=n;
		}
		n=0;
	}
	temp=s.substr(in2+1);
	if(temp=="?"){
		flag=3;
	}
	else{
		for(int i=0;i<temp.length();i++){
			n=n*10+temp[i]-'0';
		}
		n2=n;
	}
	if(flag==1){
		if(p=='+'){
			printf("%lld",n2-n1);
		}
		else{
			printf("%lld",n2+n1);
		}
	}
	else if(flag==2){
		if(p=='+'){
			printf("%lld",n2-n1);
		}
		else{
			printf("%lld",n1+n2);
		}
	}
	else{
		if(p=='+'){
			printf("%lld",n1+n2);
		}
		else{
			printf("%lld",n1-n2);
		}
	}
	return 0;
}

必关

2024/10/15 20:52
加载中...