View Code of Problem 3855

#include<iostream>
#include<string>
#include<algorithm>
#include<cstdio>
using namespace std;
int main() {
	int T;
	cin >> T;
	while (T--) {
		string input;
		cin >> input;
		int flag = 1;//代表正数
		int res = 0;
		for (int i = 0; i < input.length(); i++)
		{
			if (input[i] >= '0' && input[i] <= '9') {
				int temp = i;
				while (input[i] >= '0' && input[i] <= '9')i++;
				res += flag * atoi(input.substr(temp, i-temp).c_str());
				i--;
			}
			else if (input[i] == '+')
				flag = 1;
			else if (input[i] == '-')
				flag = -1;
		}
		cout << res << endl;
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 3855