网易面试题——奇怪的表达式求值
来源:互联网 发布:oracle删除字段数据 编辑:程序博客网 时间:2024/05/12 15:20
题目:
常规的表达式求值,我们都会根据计算的优先级来计算。比如*/的优先级就高于+-。但是小易所生活的世界的表达式规则很简单,从左往右依次计算即可,而且小易所在的世界没有除法,意味着表达式中没有/,只有(+, – 和 *)。现在给出一个表达式,需要你帮忙计算出小易所在的世界这个表达式的值为多少
输入描述:
输入为一行字符串,即一个表达式。其中运算符只有-,+,*。参与计算的数字只有0~9.
保证表达式都是合法的,排列规则如样例所示。
输出描述:
输出一个数,即表达式的值
输入例子:
3+5*7
输出例子:
56
分析:
根据题意,表达式都是合法的,则证明第一个为操作数,之后操作符合操作数依次交替出现,只需用switch语句判断每次的操作符,再将之前的result与下一个操作数按照操作符进行运算即可。
算法代码:
int strangeExpression(string & expression){ int result = (int)expression[0] - 48; for (int i = 2; i < expression.size(); i += 2) { switch (expression[i-1]) { case '+': { result = result + ((int)expression[i] - 48); break; } case '-': { result = result - ((int)expression[i] - 48); break; } case '*': { result = result * ((int)expression[i] - 48); break; } default: { cout << "ERROR EXPRESSION!" << endl; return 0; } } } return result;}
测试代码:
//// main.cpp// strangeExpression//// Created by Jiajie Zhuo on 2017/4/11.// Copyright © 2017年 Jiajie Zhuo. All rights reserved.//#include <iostream>#include <string>using namespace std;int strangeExpression(string & expression);int main(int argc, const char * argv[]) { string expression; cout << "Please enter the expression: "; cin >> expression; cout << "The result of the strange expression is " << strangeExpression(expression) << endl; return 0;}
0 0
- 网易面试题——奇怪的表达式求值
- 网易2017实习生招聘笔试题—奇怪的表达式求值
- 【网易2017实习生编程题】 工作安排 集合 奇怪的表达式求值 涂棋盘 小易记单词
- 【网易2017实习生编程题】 工作安排 集合 奇怪的表达式求值 涂棋盘 小易记单词
- 奇怪的表达式求值--网易2017春招实习笔试编程题8
- 网易2017春招[编程题]奇怪的表达式求值@Java
- 网易2017春招编程题:奇怪的表达式求值 [python]
- 奇怪的面试题
- [编程题] 奇怪的表达式求值
- 【算法题】奇怪的表达式求值
- 算法题/奇怪的表达式求值
- [编程题] 奇怪的表达式求值
- [编程题] 奇怪的表达式求值
- 网易面试题回忆——想当初
- 网易面试题——小易买苹果
- 网易面试题——调整队形
- 网易面试题——分饼干
- 网易的一道面试题
- [Java 数值] 数值类型之间的转换
- LabVIEW查找范例教程
- PAT_1025. PAT Ranking
- Swift语法摘要
- Eclipse下载Github上FastDFS-Client源码并转化成Maven工程以及打包到本地Maven仓库
- 网易面试题——奇怪的表达式求值
- RactiveJS-04 Event proxies
- ACM-2017-武大网络塞-B-Color
- linux命令中的参数前的一横(-)和两横(--)的区别
- ACM训练方法
- radial layout(径向布局)
- RactiveJS-05 Conditional sections
- 团体程序设计天梯赛-练习集L1-001
- RactiveJS-06 List sections