[编程题] 奇怪的表达式求值
时间限制:1秒
空间限制:32768K
常规的表达式求值,我们都会根据计算的优先级来计算。比如*/的优先级就高于+-。但是小易所生活的世界的表达式规则很简单,从左往右依次计算即可,而且小易所在的世界没有除法,意味着表达式中没有/,只有(+, - 和 *)。现在给出一个表达式,需要你帮忙计算出小易所在的世界这个表达式的值为多少 
输入描述:
输入为一行字符串,即一个表达式。其中运算符只有-,+,*。参与计算的数字只有0~9. 保证表达式都是合法的,排列规则如样例所示。
输出描述:
输出一个数,即表达式的值
输入例子:
3+5*7
输出例子:
56
解题思路:本题就按照输入的字符顺序进行计算即可,result = int(a[0] - '0'),然后定义字符tmp存储计算符,执行相应的运算,直到最后一个,每次计算完i++,目的跳过取的那个数字
注意点:注意字符要转成数字,否则结果不对。例int(a[0] - '0')

 1 #include <iostream>
 2 #include <string>
 3 using namespace std;
 4
 5 int main()
 6 {
 7     string a;
 8     while(cin>>a)
 9     {
10         int n = a.size();
11         int result = int(a[0] - '0');
12
13         for(int i=1;i<n;i++)
14         {
15             char tmp = a[i];
16             if(tmp == '+')
17             {
18                 result += int(a[i+1] - '0');
19             }
20             else if(tmp == '-')
21             {
22                 result -= int(a[i+1] - '0');
23             }
24             else if(tmp == '*')
25             {
26                 result *= int(a[i+1] - '0');
27             }
28             else
29             {
30                 result /= int(a[i+1] - '0');
31             }
32             i++;
33         }
34         cout<<result<<endl;
35
36     }
37     return 0;
38 }

转载于:https://www.cnblogs.com/qqky/p/6922736.html

8、奇怪的表达式求值--2017网易春招相关推荐

  1. python数据结构和算法 时间复杂度分析 乱序单词检测 线性数据结构 栈stack 字符匹配 表达式求值 queue队列 链表 递归 动态规划 排序和搜索 树 图

    python数据结构和算法 参考 本文github 计算机科学是解决问题的研究.计算机科学使用抽象作为表示过程和数据的工具.抽象的数据类型允许程序员通过隐藏数据的细节来管理问题领域的复杂性.Pytho ...

  2. 栈的应用之表达式求值

    表达式求值 表达式求值是栈的一个重要的应用.例如计算器中的加减乘除表达式的计算,都会使用栈来进行求值. 表达式的表示方法主要有中缀表示法和后缀表示法. (老师的代码,现在的我能力有限,没法过多研究c+ ...

  3. 经典笔试上机考题-表达式求值

    相信参加过笔试面试同学应当见到过表达式求值这道题,下面列举的一道经典的考题,本文将同大家一起细细探讨一下表达式求值这一类问题的求法,希望抛砖引玉,其中有不妥的地方也请大家多多批评指正. /* 功能:四 ...

  4. NOIP2013普及组 T2 表达式求值

    OJ地址:洛谷P1981 CODEVS 3292 正常写法是用栈 1 #include<iostream> 2 #include<algorithm> 3 #include&l ...

  5. 栈 -- 顺序栈、链式栈的实现 及其应用(函数栈,表达式求值,括号匹配)

    文章目录 实现 顺序栈实现 链式栈实现 应用 函数栈 的应用 表达式求值中 的应用 括号匹配中 的应用 我们使用浏览器的时候经常会用到前进.后退功能. 依次访问完一串页面 a – b – c之后点击后 ...

  6. 【Java】LeetCode 150. 逆波兰表达式求值 (后缀表达式)

    题目: 根据 逆波兰表示法,求表达式的值. 有效的算符包括 +.-.*./ .每个运算对象可以是整数,也可以是另一个逆波兰表达式. 说明: 整数除法只保留整数部分. 给定逆波兰表达式总是有效的.换句话 ...

  7. C语言----表达式求值之隐式类型转换

    前言: 表达式求值的顺序一部分是由操作符的优先级和结合性决定. 同样,有些表达式的操作数在求值的过程中可能需要转换为其他类型,称为隐式类型转换,下面给出隐式类型转换的详细讲解,希望对大家有所帮助~ 隐 ...

  8. [数据结构]表达式求值

    一.问题描述 表达式求值是数学中的一个基本问题,也是程序设计中的一个简单问题.我们所涉及的表达式中包含数字和符号,本实验中处理的符号包括'+'.'-'.'*'.'/'.'('和')',要求按照我们所习 ...

  9. c语言作业算术表达式求值,算术表达式求值演示(C语言版)

    //头文件预处理命令 #include #include //----------函数结果状态代码----------------- #define TRUE 1 #define FALSE 0 #d ...

最新文章

  1. facade-门面模式
  2. 基本类型变量和引用型类型变量
  3. C# 写了个获取本机外网IP发送邮件的服务- 分享。
  4. python语言的格式框架_django框架模板语言使用方法详解
  5. CentOS 7安装Redis服务
  6. 你在京东购买的商品,是怎么出现在抖音里面的?
  7. 区块链BaaS云服务(38)点存DCpool分布式存储
  8. qt 正则 html,Qt 正则表达式 (一)
  9. 点击空白处隐藏指定dom元素(纯javascript方法)
  10. c += c-- | ++b;
  11. 直线扫描转换算法DDA算法(数值微分算法)
  12. 【OpenCV学习】cvtColor
  13. 【微信开发相关】Java后端微信授权登录,获取微信openid以及用户信息
  14. 不用格式化,5条命令,让Macbook支持ntfs硬盘读写
  15. 移动电视一直显示Android,移动机顶盒恢复出厂设置后显示android正在升级?
  16. Logstash 中type 和 tags
  17. deepin 20 apt软件源
  18. 塑胶卡扣弹性计算公式_塑胶产品结构设计 卡扣
  19. python pandas excel数据处理_Python利用pandas处理Excel数据的应用
  20. 教你用Python如何玩转声音文件,将声音按照语音间隙切割为片段

热门文章

  1. 再也不学AJAX了!(二)使用AJAX
  2. Android -- 处理ViewPager的notifyDataSetChanged无刷新
  3. Gartner预测:SD-WAN将取代路由
  4. 9.Tornado下的一个简易Blog--2013-05-21
  5. 企业邮箱自建,该如何选型测试
  6. Cisco路由器——Console线的接法
  7. 大话西游之Office应用实例系列! 13
  8. Android Listview 点击item变黄色
  9. android JNI层线程回调Java函数
  10. android 事件传递