Problem J: 小火山的计算能力
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 468 Solved: 120
Submit Status Web Board
Description
别人说小火山的计算能力不行,小火山很生气,于是他想证明自己,现在有一个表达式,他想计算出来。
Input
首先是一个t(1<=20)表示测试组数。然后一个表达式,表达式长度不超过200,只有加法和减法,并且保证第一个字符不会是运算符号,最终结果小于2^63-1。
Output
输出运算结果。
Sample Input
21+12+1-1
Sample Output
22
HINT
#include<stdio.h>//j
#include<string.h>
#include<algorithm>
using namespace std;
char shu[1000],s[1000];
long long sum,a[1000],n,i,j,k;
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
k=0;
sum=0;
memset(a,0,sizeof(a));
s[0]='+';
scanf("%s",shu);
n=strlen(shu);
a[0]=shu[0]-'0';
for(i=1;i<n;i++)
{
if(shu[i]>='0'&&shu[i]<='9')
a[k]=a[k]*10+(shu[i]-'0');
else
{
k=k+1;
s[k]=shu[i];
}
}
for(int i=0;i<=k;i++)
{
if(s[i]=='+')
sum+=a[i];
else
sum-=a[i];
}
printf("%lld\n",sum);
}
return 0;
}