<center style="color: rgb(85, 85, 85); font-family: 'microsoft yahei'; font-size: 15px; line-height: 35px;"><h2 style="margin: 0px; padding: 0px;">1913: 小火山的计算能力</h2><span class="green">Time Limit: </span>1 Sec <span class="green">Memory Limit: </span>128 MB
<span class="green">Submit: </span>463 <span class="green">Solved: </span>117
<a target=_blank target="_blank" class="btn btn-default" href="http://acm.zzuli.edu.cn/zzuliacm/submitpage.php?id=1913" style="text-decoration: none; color: rgb(12, 137, 207);">Submit</a><a target=_blank target="_blank" class="btn btn-default" href="http://acm.zzuli.edu.cn/zzuliacm/problemstatus.php?id=1913" style="text-decoration: none; color: rgb(12, 137, 207);">Status</a><a target=_blank target="_blank" class="btn btn-default" href="http://acm.zzuli.edu.cn/zzuliacm/bbs.php?pid=1913" style="text-decoration: none; color: rgb(12, 137, 207);">Web Board</a></center><h2 style="margin: 0px; padding: 0px; color: rgb(85, 85, 85); font-family: 'microsoft yahei'; line-height: 35px;"><a target=_blank name="t1" style="color: rgb(12, 137, 207);"></a>Description</h2><div class="content" style="color: rgb(85, 85, 85); font-family: 'microsoft yahei'; font-size: 15px; line-height: 35px;"><p style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;">别人说小火山的计算能力不行,小火山很生气,于是他想证明自己,现在有一个表达式,他想计算出来。</p></div><h2 style="margin: 0px; padding: 0px; color: rgb(85, 85, 85); font-family: 'microsoft yahei'; line-height: 35px;"><a target=_blank name="t2" style="color: rgb(12, 137, 207);"></a>Input</h2><div class="content" style="color: rgb(85, 85, 85); font-family: 'microsoft yahei'; font-size: 15px; line-height: 35px;"><p style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;">首先是一个t(1<=20)表示测试组数。然后一个表达式,表达式长度不超过200,只有加法和减法,并且保证第一个字符不会是运算符号,最终结果小于2^63-1。</p></div><h2 style="margin: 0px; padding: 0px; color: rgb(85, 85, 85); font-family: 'microsoft yahei'; line-height: 35px;"><a target=_blank name="t3" style="color: rgb(12, 137, 207);"></a>Output</h2><div class="content" style="color: rgb(85, 85, 85); font-family: 'microsoft yahei'; font-size: 15px; line-height: 35px;"><p style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;">输出运算结果。</p></div><h2 style="margin: 0px; padding: 0px; color: rgb(85, 85, 85); font-family: 'microsoft yahei'; line-height: 35px;"><a target=_blank name="t4" style="color: rgb(12, 137, 207);"></a>Sample Input</h2><div class="content pre" style="color: rgb(85, 85, 85); font-family: 'microsoft yahei'; font-size: 15px; line-height: 35px;"><span class="sampledata"></span><pre style="white-space: pre-wrap; word-wrap: break-word;">2
1+1
2+1-1
Sample Output
2
2
直接模拟就好了,注意要用long long 保存,在郑轻oj上好像不能用‘\n";
#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;
}