View Code of Problem 3855

#include<stdio.h>
#include<string.h>
#include<math.h>
#define MAX 1000000+10
#define Max(a,b) a>b?a:b
#define Min(a,b) a<b?a:b
int main()
{
	int t;
	scanf("%d",&t);
	while(t--)
	{
		int sum=0;
		int a;
		int flag=1;
		char s[20000];
		scanf("%s",s);
		int i;
		for(i=0;i<strlen(s);i++)
		{
			if(s[i]>='0'&&s[i]<='9')
			{
				a=0;
				while(s[i]>='0'&&s[i]<='9'){
					a=a*10+(s[i]-'0');
					i++;
				}
				sum+=flag*a;
				i--;
			}else if(s[i]=='+')
			{
				flag=1;
			}else if(s[i]=='-')
			{
				flag=-1;
			}
		}
		printf("%d\n",sum);
	}

}

Double click to view unformatted code.


Back to problem 3855