目录
题目描述
输入描述
输出描述
解析
完整代码
描述
表达式的形式如:3+56-4 其中, 运算数为一位整数,运算符为 +、-、 三种,且运算符没有优先级的区分,一律自左向右计算。 如上例的计算过程为:3+56-4=86-4=48-4=44
输入描述
一行,即表达式字符串(长度小于100)
输出描述
一个整数,即表达式的计算结果(结果在-20000至20000之间)
用例输入 1
3+5*6-4
用例输出 1
44
这题有简单的方法,也有困难的方法,那既然他都说没有没有运算优先级,所以我们直接一个一个去判断就行了;
下面出示代码:
#include <bits/stdc++.h>
using namespace std;
int main() {
int n,sum=0;
char c;
cin>>n;
sum=n;
while(scanf("%c %d",&c,&n)!=EOF){
if(c=='+')sum+=n;
if(c=='-')sum-=n;
if(c=='*')sum*=n;
}
cout<<sum;
return 0;
}