当前位置: 首页 > news >正文

西安网站建设有那些公司网络违法犯罪举报网站

西安网站建设有那些公司,网络违法犯罪举报网站,想做一个自己的网站怎么做,网站建设原因分析描述 对于一个不存在括号的表达式进行计算 输入描述: 存在多组数据,每组数据一行,表达式不存在空格 输出描述: 输出结果 示例1 输入: 6/233*4输出: 18思路: ①设立运算符和运算数两个…

描述

对于一个不存在括号的表达式进行计算

输入描述:

存在多组数据,每组数据一行,表达式不存在空格

输出描述:

输出结果

示例1

输入:

6/2+3+3*4

输出:

18

思路:

①设立运算符和运算数两个栈,,一个用来存储运算符,另一个用来存储运算数。

②在运算符栈中放置一个特殊运算符#,其优先级最低。

③将表达式尾部添加一个特殊运算符$,其优先级次低。

④从左至右依次遍历字符串,若遍历到运算符,则将其与运算符栈的栈顶元素进行比较,若运算符栈的栈顶的优先级小于该运算符,则将该运算符压入运算符栈;若运算符栈的栈顶的优先级大于该运算符,则弹出该栈顶运算符,从运算数栈中依次弹出运算数,完成弹出运算符对应的运算后,再将该结果压入运算数栈。

⑤若遍历到表达式中的运算数,则直接压入运算数栈。

⑥若运算符栈中仅剩两个特殊运算符#和$,则表达式运算结束,此时运算数栈中唯一的数字就是表达式的值。
 

源代码:

#include<iostream>
#include<stack>
#include<map>
#include<string>
using namespace std;//习题5.2 KY102 计算表达式
//考虑到需要计算的数字可能不止一位,就从检测到数字的索引开始,一直到检测不到数字的索引,这之间的就是一整个数字
double getNum(string str, int& index) {double res = 0;while (isdigit(str[index])) {res = res * 10 + str[index] - '0';index++;}return res;
}double cal(double x, double y, char op) {double res = 0;if (op == '+') {res = x + y;}else if (op == '-') {res = x - y;}else if (op == '*') {res = x * y;}else if (op == '/') {res = x / y;}return res;
}int main()
{string s;//存储多个运算符号的优先级map<char, int> maps = { {'#',0},{'$',1},{'+',2},{'-',2},{'*',3},{'/',3} };while (cin >> s) {stack<char> symbol;stack<double> number;//在运算符栈中放置一个特殊运算符#,其优先级最低。symbol.push('#');//将表达式尾部添加一个特殊运算符$,其优先级次低s = s + '$';int index = 0;while (index < s.size()) {if (isdigit(s[index])) { //遍历到数字number.push(getNum(s, index));}else { //遍历到运算符//若运算符栈的栈顶的优先级小于该运算符,则将该运算符压入运算符栈if (maps[s[index]] > maps[symbol.top()]) {symbol.push(s[index]);index++;}//否则,弹出该栈顶运算符,从运算数栈中依次弹出运算数,完成弹出运算符对应的运算后,再将该结果压入运算数栈else {double x = number.top();number.pop();double y = number.top();number.pop();number.push(cal(y, x, symbol.top()));symbol.pop();}}}printf("%.0f", number.top());}return 0;
}

提交结果:

 

http://www.tj-hxxt.cn/news/125810.html

相关文章:

  • 厦门模板建站平台今天特大新闻最新消息
  • 网站文章更新怎么做合肥做网络推广的公司
  • 局网站建设情况长沙百度快速排名
  • 金融公司网站开发费用入什么科目百度指数疫情
  • 唐山建设招聘信息网站公司域名查询官网
  • 做网站哪个软件好用百度广告竞价
  • 上海微网站设计网站制作报价
  • 邯郸网站设计哪家好百度资源平台链接提交
  • 七个常委名字百度网站优化培训
  • html是建网站导航栏怎么做整合营销传播案例
  • 南宁市住房和城乡建设部网站搜索推广和信息流推广的区别
  • 怎么做水果网站东莞网站推广运营公司
  • 建个企业网站要多少钱推特最新消息今天
  • 山东建设工程信息网站百度收录怎么做
  • 上海公安网站备案株洲专业seo优化
  • 做网站过程中的自身不足深圳将进一步优化防控措施
  • 专业的公司网站制作服务seo搜索优化待遇
  • dw网站引导页怎么做seo l
  • 大连做网站比较好的公司网络运营和网络营销的区别
  • 开平网站建设做网站设计的公司
  • 企业网盘方案湖南正规seo公司
  • 丽江市企业网站影响关键词优化的因素
  • 校园网站建设测试目的黄页推广平台有哪些
  • 商城网站模板图线上推广营销
  • wordpress 域名绑定后 手机seo网站关键词快速排名
  • 2018做网站用什么开发重庆快速排名优化
  • 河南做网站需要多少钱怎么网站排名seo
  • 专业营销型网站建设自己做网站如何赚钱
  • 公司做网站需要准备什么东西市场调研报告800字
  • dw做新闻网站免费推广软件哪个好