60pts 求调
查看原帖
60pts 求调
993779
FurippuWRY楼主2024/6/28 17:14
#include<bits/stdc++.h>
#define int long long
#define debug cout<<"IAKIOI";

using namespace std;

int a[10], cnt = 0, ans, n;
string s;
char opt;

signed main() {
	
	getline(cin, s);
	int l = (int)s.size();
	for (int i = 0; i < l; ++i) {
		int q = i;
		if (s[i] >= '0' && s[i] <= '9') {
			a[++cnt] = 0;
			for (int j = i; j < l; ++j) {
				if (!(s[j] >= '0' && s[j] <= '9')) {
					q = j - 1;
					break;
				}
			}
			for (int j = q, k = 1; j >= i; --j, k *= 10) {
				a[cnt] += k * (s[j] - '0');
			}
			i = q;
		}
		else if (s[i] == '+' || s[i] == '-') opt = s[i];
		else if (s[i] == '?') a[++cnt] = -1;
	}
	if (opt == '+') {
		if (a[1] == -1) {
			ans = a[3] - a[2];
		}
		else if (a[2] == -1) {
			ans = a[3] - a[1];
		}
		else ans = a[1] + a[2];
	}
	else {
		if (a[1] == -1) {
			ans = a[3] + a[2];
		}
		else if (a[2] == -1) {
			ans = a[1] - a[3];
		}
		else ans = a[1] - a[2];
	}
	cout << ans;
}
2024/6/28 17:14
加载中...