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

个人网站建设推广服务wordpress跳转页面

个人网站建设推广服务,wordpress跳转页面,迁移wordpress到阿里云,广州做包包的网站​ 后缀表达式 题目描述 后缀表达式是指这样的一个表达式#xff1a;式中不使用括号#xff0c;运算符号放在两个运算数之后#xff0c;所有计算按运算符号出现的顺序#xff0c;严格地自左而右进行#xff08;不用考虑运算符的优先级#xff09; 如#xff1a;3*(5-…​ 后缀表达式 题目描述 后缀表达式是指这样的一个表达式式中不使用括号运算符号放在两个运算数之后所有计算按运算符号出现的顺序严格地自左而右进行不用考虑运算符的优先级 如3*(5-2)7对应的后缀表达式为3 5 2 - * 7 。’’为表达式的结束符号。 注运算过程中请使用long long进行运算。 关于输入 多行每行一个用空格分割的后缀表达式。保证表达式长度不超过1000个字符。 表达式中可能出现整数 - * /四种运算符以及。 关于输出 输出多行为对应表达式的值。 如果在运算过程中出现除0那么输出NaN。 例子输入 3 5 2 - * 7 例子输出 16 解题分析 这个问题中我们需要计算后缀表达式的值。后缀表达式是一种没有括号运算符放在两个操作数之后的表达式所有计算按照运算符出现的顺序严格地从左到右进行。 解决这个问题的关键在于理解后缀表达式的计算方式以及如何利用栈数据结构来进行计算。 我们使用一个栈来存储数字然后遍历输入的字符串。如果遇到的是数字我们就把它压入栈中。如果遇到的是运算符我们就从栈顶弹出两个元素进行相应的运算然后把结果再压回栈中。这样当我们遍历完整个字符串后栈顶的元素就是整个表达式的计算结果。 可以用一个数组stack来模拟栈top变量用来表示栈顶的位置。push函数用来把一个元素压入栈pop函数用来弹出栈顶的元素。 在main函数中我们首先读入一行输入然后遍历这个字符串。如果遇到的是数字我们就把它转换成整数并压入栈中。如果遇到的是运算符我们就弹出栈顶的两个元素进行相应的运算然后把结果压回栈中。如果遇到的是’我们就直接输出栈顶的元素然后清空栈。 在处理除法时我们需要注意除数不能为0。如果除数为0我们就直接输出NaN然后跳出循环。 这个算法的时间复杂度为O(n)其中n为输入字符串的长度空间复杂度为O(n)其中n为输入字符串中数字的个数。 代码实现 #include stdio.h #include stdlib.h #include string.hlong long stack[1005]; int top-1;void push(long long a){stack[top]a; }long long pop(){return stack[top--]; }int main(){char input[1005];long long a,b;while(fgets(input,1005,stdin)){int i0;while(istrlen(input)){if(input[i]0 input[i]9){long long num0;while(istrlen(input) input[i]0 input[i]9){num*10;numinput[i]-0;i;}push(num);}else if(input[i]){apop(); bpop();push(ba);i;}else if(input[i]-){apop(); bpop();push(b-a);i;}else if(input[i]*){apop(); bpop();push(b*a);i;}else if(input[i]/){apop(); bpop();if(a0){printf(NaN\n);break;}push(b/a);i;}else if(input[i]){printf(%lld\n,pop());top-1;break;}else{i;}}}return 0; } 代码详细解释 当然可以让我们更详细地分析这段代码 首先我们定义了一个全局的栈stack和一个栈顶指针top。这个栈用来存储后缀表达式中的数字栈顶指针用来表示当前栈顶的位置。 long long stack[1005]; int top-1;接下来我们定义了两个操作栈的函数push和pop。push函数用来将一个元素压入栈pop函数用来弹出栈顶的元素。 void push(long long a){stack[top]a; }long long pop(){return stack[top--]; }在main函数中我们首先读入一行输入然后开始遍历这个字符串。 char input[1005]; long long a,b; while(fgets(input,1005,stdin)){int i0;while(istrlen(input)){如果遇到的是数字我们就把它转换成整数并压入栈中。 if(input[i]0 input[i]9){long long num0;while(istrlen(input) input[i]0 input[i]9){num*10;numinput[i]-0;i;}push(num); }如果遇到的是运算符我们就弹出栈顶的两个元素进行相应的运算然后把结果压回栈中。 else if(input[i]){apop(); bpop();push(ba);i; } else if(input[i]-){apop(); bpop();push(b-a);i; } else if(input[i]*){apop(); bpop();push(b*a);i; } else if(input[i]/){apop(); bpop();if(a0){printf(NaN\n);break;}push(b/a);i; }如果遇到的是’我们就直接输出栈顶的元素然后清空栈。 else if(input[i]){printf(%lld\n,pop());top-1;break; }对于其他字符我们直接忽略。 else{i; }最后当我们遍历完整个字符串后我们就可以得到后缀表达式的计算结果。 这个算法的时间复杂度为O(n)其中n为输入字符串的长度空间复杂度为O(n)其中n为输入字符串中数字的个数。 ​
http://www.zqtcl.cn/news/157596/

相关文章:

  • 信息服务平台有哪些网站东莞网站关键词
  • 青岛网站定制手机软件开发和网站开发
  • 网站数据库地址是什么看企业网站怎么做到百度秒收
  • 南昌网站建设资讯wordpress dynamo
  • 网站建设招标样本南宁培训网站建设
  • 找回网站备案密码wordpress 2015主题
  • 网站电子商务平台建设域名查询系统
  • 设计制造中国第一架飞机的人是南宁百度快速优化
  • 淘宝联盟网站模板上海做企业网站
  • 繁体中文网站 怎么做wordpress禁止压缩图片
  • 怎么做图片网站百度云做.net网站
  • 长沙网上商城网站建设方案wordpress兼容mip
  • 横向网站模板上海 建筑
  • 手机wap网站程序上海网站制作库榆
  • 深圳网站建设 骏域网站建设推广软文范例大全500
  • 深圳广东网站建设套餐最近新闻事件
  • 电子商务网站建设与管理 pdf“设计网站”
  • 聊城wap网站建设清溪东莞网站建设
  • 书籍网站建设规划书app开发公司价格表
  • 小程序网站模板住建个人证书查询网
  • 西安 美院 网站建设贵阳美丽乡村建设网站
  • 平顶山市哪里有做网站的wordpress应用教程
  • 制作企业网站的实训报告医院网站设计模板
  • 要做网站照片怎么处理广东外发加工网
  • 做国际网站每年要多少钱厦门 外贸商城网站
  • 城乡建设学校官方网站程序外包网站
  • 深圳 网站设计师 招聘西数网站管理助手 伪静态
  • 广州网站备案要求国外工装设计网站大全
  • php+mysql 2012也买酒商城网站源码怎么用net123做网站
  • 西充移动网站建设如何设计一个简洁的logo