标题 表达式求值
题目描述 给定一个只包含加法和乘法的算术表达式,请你编程计算表达式的值。
输入 输入仅有一行,为需要你计算的表达式,表达式中只包含数字、加法运算符“+”和乘法运算符“*”,且没有括号。 所有参与运算的数字均为 0 到 231-1 之间的整数。 输入数据保证这一行只有0~9、+、*这12种字符。
输出 输出只有一行,包含一个整数,表示这个表达式的值。注意:当答案长度多于4位时,请只输出最后4位,前导0不输出
#include<bits/stdc++.h>//万能头文件
using namespace std;
int main()
{
vector<long long>cc;
long long n;
char op;
cin>>n;
cc.push_back(n);
long long sum=0;
while(cin>>op>>n)
{
n%=10000;//防止数值过大
if(op=='+')
cc.push_back(n);
else if(op=='*')
cc[cc.size()-1]*=n;//更新向量数组中最后一个数
cc[cc.size()-1]%=10000;//防止数值过大
}
for(int i=0;i<cc.size();i++)
sum+=cc[i];//将向量数组中的数相加
sum%=10000;//输出后四位
cout<<sum;
}