社区讨论

怎么做,求救!

灌水区参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@lwjcvuyk
此快照首次捕获于
2024/05/23 22:36
2 年前
此快照最后确认于
2024/05/24 13:34
2 年前
查看原帖
题目:U117014
求救,哪位大神可以教教我!
C
#include <bits/stdc++.h>
using namespace std;
stack<int> s;
char a[10000];
int main()
{
	int t = 0, sum = 0;
	fgets(a, sizeof(a), stdin);
	while (s.empty())
	{
		for (int i = 0; i <= strlen(a); i++)
		{
			s.push(a[i]);
			if (a[i] == '+')
			{
				t = a[i - 1];
				sum += s.top() + t;
				s.pop();
			}
			else if (a[i] == '-')
			{
				t = a[i - 1];			
				sum += abs(s.top() - t);
				s.pop();
			}
			else if (a[i] == '*')
			{
				t = a[i - 1];			
				sum += s.top() * t;			
				s.pop();
			}
			else if (a[i] == '/')
			{
				t = a[i - 1];			
				sum += abs(s.top() / t);			
				s.pop();
			}
			else t = a[i];
		}	
	}
	cout << sum << endl;
}

回复

0 条回复,欢迎继续交流。

正在加载回复...