多组输入,给定一行表达式,中间没有空格,输出表达式的计算结果。测试数据保证在 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; }