Description
別人說小火山的計算能力不行,小火山很生氣,於是他想證明自己,現在有一個表達式,他想計算出來。
Input
首先是一個t(1<=20)表示測試組數。然後一個表達式,表達式長度不超過200,只有加法和減法,並且保證第一個字符不會是運算符號,最終結果小於2^63-1。
Output
輸出運算結果。
Sample Input
2
1+1
2+1-1
Sample Output
2
2
別人說小火山的計算能力不行,小火山很生氣,於是他想證明自己,現在有一個表達式,他想計算出來。
Input
首先是一個t(1<=20)表示測試組數。然後一個表達式,表達式長度不超過200,只有加法和減法,並且保證第一個字符不會是運算符號,最終結果小於2^63-1。
Output
輸出運算結果。
Sample Input
2
1+1
2+1-1
Sample Output
2
2
HINT
思路 : 多校聯盟的簽到題,剛開始忘了有可能輸入多位數字~WA了幾次=。=
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
int main()
{
char a[210];
int n,i,b,k;
long long sum,c;
scanf("%d",&n);
while(n--)
{
scanf("%s",a);
b=strlen(a);
sum=0;
c=0;
k=0;
for(i=0;i<b;i++)
{
if(a[i]!='+'&&a[i]!='-')
{
c=c*10;
c=c+a[i]-48;
}
if(a[i]=='+'||a[i]=='-'||i==(b-1))
{
if(k==0)
{
sum=sum+c;
}
else
{
sum=sum-c;
k=0;
}
c=0;
if(a[i]=='-')
k++;
}
}
printf("%lld\n",sum);
}
return 0;
}