多组输入,给定一行表达式,中间没有空格,输出表达式的计算结果。测试数据保证在 int 范围之内。
这是简单的一个题目,只涉及加法和减法。
输入描述:
一行表达式
输出描述:
表达式的计算结果
样例输入:
12+21-0
样例输出:
33
#include<iostream>
#include<string>
using namespace std;
int main(){
string m;
while(cin>>m){
int i,j=0,k=0,len,n1=0,sum=0;
len=m.length();
int num[len];
for(i=0;i<len;i++){
while(m[i]<='9'&&m[i]>='0'){
n1=n1*10+m[i]-'0';
i++;
}
num[j++]=n1;
n1=0;
}
i=0;
while(m[i]<='9'&&m[i]>='0'){
i++;
}
if(m[i]=='+'){
sum=num[k]+num[k+1];
i++;
k=k+2;
}
if(m[i]=='-'){
sum=num[k]-num[k+1];
i++;
k=k+2;
}
for(;i<len;i++){
switch(m[i]){
case '+':sum=sum+num[k];k=k+1;break;
case '-':sum=sum-num[k];k=k+1;break;
}
}
cout<<sum<<endl;
}
return 0;
}