1913: 小火山的计算能力
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 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;
}