AC代码:
#include<cstdio>
#include<cstring>
#include<iostream>
#include<cmath>
#include<string>
using namespace std;
int main()
{
char a[200];
while(gets(a))
{
int sum=0;
int flag=0;
for(int i=0; i<strlen(a); i++)
{
if(a[i] >= '0' && a[i] <= '9')
{
int z=0;
int j;
for(j=i;; j++)
{
if (a[j] > '9' || a[j] < '0')
{
break;
}
z=z*10+(a[j]-'0');
}
i=j-1;//-1的原因是 还会回去加1!!!!!
switch(flag)
{
case 0:
sum+=z;
break;
case 1:
sum+=z;
break;
case -1:
sum-=z;
break;
}
}
if (a[i] == '+')
{
flag = 1;
}
if (a[i] == '-')
{
flag = -1;
}
}
printf("%d",sum);
if(cin.eof());
else
printf("\n");
}
return 0;
}