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

wordpress更换系统上海seo公司推荐

wordpress更换系统,上海seo公司推荐,高唐做网站建设的公司,wordpress 伪静态 效果前言#xff1a;四则运算#xff0c;大家都不陌生#xff0c;在上小学的时候#xff0c;数学中学到过的知识#xff0c;那么如何在程序中实现呢#xff1f;下面#xff0c;我们就用程序来实现9(3-2)*(5-3)/4*3#xff0c;这个算式的值。计算的时候#xff0c;有一个规…前言四则运算大家都不陌生在上小学的时候数学中学到过的知识那么如何在程序中实现呢下面我们就用程序来实现9(3-2)*(5-3)/4*3这个算式的值。计算的时候有一个规则”先乘除后加减从左到右先括号内后括号外“。 其优先级就是 加减乘除括号 这个算式我们可以很轻松的计算出它的值等于10.5。这是我们常用的四则表达式又叫做中缀表达式。这种计算的复杂之处在与乘除在加减之后并且还有括号放在程序里的判断就复杂了那么如何简化呢伟大的科学家想到了好的处理办法 一、逆波兰Reverse Polish NotationRPN一种不需要括号的后缀表达法我们也称之为逆波兰。 上面的四则运算表达式转换未后缀表达法之后变为 9 3 2 - * 5 3 - 4 / 3 * 叫后缀的原因所有的符号都是在要运算数字的后面出现。 如何实现由中缀表达式转化未后缀表达式呢 规则依次从左向右遍历表达式若是数字加入到集合若是符号则需要判断其与栈顶符号的优先级如果当前元素是右括号或优先级较低的符号则栈顶的元素一次出栈并输出并将当前符号进栈如果当前元素和栈顶的元素优先级相同将栈顶的同级元素依次出栈。 实现代码 string str 9(3-2)*(5-3)/4*3; string cz )-; //需要出栈的操作 string rz (*/; //入栈的符号 string hig */; //优先级高的 string zkh (; //左括号 string ykh ); //右括号 Stack stack new Stack(); int lj str.Length - 1; ArrayList list new ArrayList(); //从左到右遍历中缀表达式的每个数字和符号 for (int i 0; i str.Length; i) {string item str.Substring(i, 1);//1、若是数字输出即成为后缀表达式的一部分if (digital.Contains(item)){Console.Write(${item}\t);list.Add(item);}else{//若是符号if (rz.Contains(item) || stack.Count 0){if (stack.Count 0){string chr (string)stack.Pop();if (hig.Contains(chr)){list.Add(chr);Console.Write(${chr}\t);}else{stack.Push(chr);}}stack.Push(item);}else{//优先级低与栈顶符号乘除优先加减则栈顶元素依次出栈并输出if (ykh.Contains(item)){while (stack.Count 0){string zk (string)stack.Pop();if (zkh.Contains(zk)){break;}list.Add(zk);Console.Write(${zk}\t);}continue;}if (cz.Contains(item)){string chr (string)stack.Pop();if (hig.Contains(chr)){list.Add(chr);Console.Write(${chr}\t);while (stack.Count 0){string ab (string)stack.Pop();list.Add(ab);Console.Write(${ab}\t);}}else{stack.Push(chr);}stack.Push(item);continue;}stack.Push(item);}}if (lj i){while (stack.Count 0){string ab (string)stack.Pop();list.Add(ab);Console.Write(${ab}\t);}}}Console.WriteLine();for(var i 0; i list.Count; i){string a list[i].ToString();Console.Write(${a} \t);} 二、由上面计算得到后缀表达式那么如何使用栈来计算这个表达式呢 计算规则依次遍历后缀表达式如果是数字则入栈如果是符号则将栈顶的两个元素出栈进行计算计算完成之后将结果入栈。 代码如下 string digital 0123456789; Stack calcStack new Stack(); foreach(var item in list) {//如果是数字入栈if (digital.Contains(item.ToString())){calcStack.Push(item);}else{//如果是符号则把栈顶的两个数字出栈进行计算入栈。string clfh item.ToString();double hz1, hz2;double.TryParse(calcStack.Pop().ToString(), out hz2);double.TryParse(calcStack.Pop().ToString(), out hz1);double result GetResult(hz1, hz2, clfh);calcStack.Push(result);} } Console.WriteLine(); Console.WriteLine(); while (calcStack.Count 0) {Console.WriteLine(${str} {calcStack.Pop()}); } private static double GetResult (double ca1, double ca2,string fh) {if(fh)return ca1 ca2;else if(fh-)return ca1 - ca2;else if(fh *)return ca1 * ca2;elsereturn ca1 / ca2; } 备注其中逆波兰解释来自《大话数据结构》一书。 PS当前代码计算小于10的四则运算。 欢迎大家批评指正小可不胜感激。
http://www.pierceye.com/news/831335/

相关文章:

  • 做网站自己装服务器谷歌排名规则
  • 58.搜房等网站怎么做效果才好商贸公司企业简介模板
  • 中国最早做网站是谁卖网站怎样做
  • 张店专业网站优化哪家好书画工作室网站模板网站建设
  • 兰州网站制作怎么样青海哪家做网站的公司最大
  • 云龙湖旅游景区网站建设招标网站升级改版需要几天
  • 高端大气网络设计建设公司网站织梦模板沈阳模板建站哪家好
  • 郑州哪有做网站的高端网站建设与制作
  • 江阴网站网站建设蓝色 宽屏 网站 模板下载
  • 网站建设设计大作业重庆公共信息交易资源网
  • 做公司网站的多少钱公司建网站价格
  • 河间米各庄网站建设制作网站页面模板 建设中
  • wordpress首页添加站点统计小工具住房城乡建设部门门户网站
  • 网站建设在哪块做创业园网站建设
  • 郑州搭建网站公司互联网公司网站建设的目的
  • 响应式视频网站什么是权重高的网站
  • 做教育网站挣钱我的网站域名是什么
  • django 网站开发实例哪里可以检测胎儿性别
  • 刷排名凡搜网站宝微信5000人接推广费用
  • 网站优化外包服务专业网站建设服务商
  • 江西企业网站建设费用wordpress正在执行例行维护_请一分钟后回来.
  • 苏宁推客如何做网站创建一个网站的步骤
  • 优化网站广告优化东莞美食网站建设报价
  • 单页网站的营销定制应用软件有哪些
  • 如何建立一个网站详细步骤品牌建设可以从哪方面入手
  • 杨浦做网站福州网站公司
  • 厦门网站建设工程汽车网站正在建设中模板
  • 关于网站规划建设方案书怎么制作官网
  • 网站域名注销流程昌邑微信网站建设公司
  • 如何做众筹网站wordpress手机投放广告