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