zzuli OJ 1913: 小火山的计算能力 【水题】

1913: 小火山的计算能力

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 442  Solved: 105

Description

别人说小火山的计算能力不行,小火山很生气,于是他想证明自己,现在有一个表达式,他想计算出来。

Input

首先是一个t(1<=20)表示测试组数。然后一个表达式,表达式长度不超过200,只有加法和减法,并且保证第一个字符不会是运算符号,最终结果小于2^63-1。

Output

输出运算结果。

Sample Input

2
1+1
2+1-1

Sample Output

2
2

HINT

#include <cstdio>
#include <cstring>
using namespace std;
int main() {
    char s[120];
    int t; long long a;
    scanf("%d", &t);
    while (t--) {
        scanf("%s", s); long long ans = 0;
        int len = strlen(s);
        a = 0; int sign = 1;
        for (int i = 0; i < len; i++) {
            if (s[i] != '+' && s[i] != '-') {
                if (i == 0 || (s[i - 1] == '+' || s[i - 1] == '-')) {
                    a = sign*(s[i] - '0');
                }
                else {
                    a *= 10; a += sign*(s[i] - '0');
                }
            }
            else {
                ans += a;
                if (s[i] == '-') sign = -1;
                else sign = 1;
            }
 
        }
        ans += a;
        printf("%lld\n", ans);
    }
    return 0;
}



posted @ 2016-08-10 19:12  zprhhs  阅读(129)  评论(0编辑  收藏  举报
Power by awescnb