View Code of Problem 3855

#include<bits/stdc++.h>
using namespace std;
int main() {
	int T;
	string s;
	cin>>T;getchar();
	while(T--){
		int sum=0;//结果 
		int flag=1;//表示符号 
		int num;//存数 
		cin>>s;
		int len=s.length();
		for(int i=0;i<len;i++){
			if(s[i]>='0'&&s[i]<='9'){
				num=0;
				while(s[i]>='0'&&s[i]<='9'){
					num=num*10+(s[i]-'0');
					i++;
				}
				i--;
				sum+=flag*num;
			}
			else if(s[i]=='+'){
				flag=1;
			}
			else if (s[i]=='-'){
				flag=-1;
			}
		}
		cout<<sum<<endl;
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 3855