1913: 小火山的计算能力
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 442 Solved: 105
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<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int main()
{
int t;
char str[210],c;
int len,k,i,j;
long long sum,s1,a[210];
scanf("%d",&t);
while(t--)
{
scanf("%s",str);
len=strlen(str);
k=0;i=0;sum=0;
while(str[i]!='+'&&str[i]!='-')
{
a[k++]=str[i]-'0';
sum=sum*10+a[i];
i++;
}
for(i=k;i<len;)
{
c=str[i];
i++; k=0; s1=0;
while(str[i]!='+'&&str[i]!='-'&&str[i]!='\0')
{
s1=s1*10+(str[i]-'0');
i++;
}
if(c=='-')
sum=sum-s1;
else
sum=sum+s1;
}
printf("%lld\n",sum);
}
return 0;
}
如果我没有把它想复杂,如果别管对不对都试一试,如果没有如果……