1913: 小火山的计算能力
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 450 Solved: 110
SubmitStatusWeb Board
Description
别人说小火山的计算能力不行,小火山很生气,于是他想证明自己,现在有一个表达式,他想计算出来。
Input
首先是一个t(1<=20)表示测试组数。然后一个表达式,表达式长度不超过200,只有加法和减法,并且保证第一个字符不会是运算符号,最终结果小于2^63-1。
Output
输出运算结果。
Sample Input
2
1+1
2+1-1
Sample Output
2
2
HINT
Source
签道题...... 不报零万岁.
#include<iostream>
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<algorithm>
#include<stdlib.h>
#include<queue>
typedef long long ll;
using namespace std;
#define INF 0x3f3f3f3f
#define N 110
char str[N];
int main()
{
int T,i,f,j;
ll sum,num;
scanf("%d",&T);
while(T--)
{
scanf("%s",str);
sum=0;
f=0;
for(i=0;str[i];i++)
{
if(str[i]=='+')
{
f=0;continue;
}
if(str[i]=='-')
{
f=1;continue;
}
if(str[i]>='0' && str[i]<='9')
{
num=str[i]-'0';
j=i+1;
while(isdigit(str[j]))
{
num=num*10+(str[j]-'0');
j++;
}
i=j-1;
if(f==0)
sum=sum+num;
else
sum=sum-num;
}
}
printf("%lld\n",sum);
}
return 0;
}