文章
25
粉丝
0
获赞
74
访问
2.6k
#include<bits/stdc++.h>
using namespace std;
int main()
{
ios::sync_with_stdio(0); cin.tie(0);
string s;
while(cin >> s)
{
vector<char> op; //建立一个操作符的数组
vector<int> nums; //记录运算数组
int num = 0;
for(int i = 0; i < s.size(); i ++)
{
if(s[i] >= '0' && s[i] <= '9')
{
num = num * 10 + (s[i] - '0');
}
else{
nums.push_back(num);
op.push_back(s[i]);
num = 0;
}
} //这一个for循环就是把字符串里边数字和操作符拆分开来
nums.push_back(num);//自己写这里忘记了,一定要记得最后一个数字不会进else
int total = 0;
for(int i = 0; i < op.size(); i ++)
{
if(op[i] == '*')
{
int num = nums[i] * nums[i + 1];
nums[i] = num;
op.erase(op.begin() + i);
nums.erase(nums.begin() + i + 1);
i--; //我去非常重要,记得重新判断本位置
continue;
}
else if(op[i] == '/')
{
int num = nums[i] / nums[i + 1];
nums[i] = num;
op.erase(op.begin() + i);
nums.erase(nums.beg...
登录后发布评论
暂无评论,来抢沙发