本文主要是介绍[笔记][中国大学mooc][程序设计与算法(二) 算法基础][递归] 表达式求值,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目
输入四则运算表达式,仅由数字、+、-、*、/、(、)组成,没有空格,求表达式的值,假设运算结构都是整数。
分析
#include<iostream>
using namespace std;
int expression();
int term();
int factor();
int factor(){char character;int result;if((character=cin.peek())=='('){cin.get();result = expression();cin.get();}else{result = 0;while((character=cin.peek())>='0' && character<='9'){cin.get();result *= 10;result += (character-'0');}}return result;
}
int term(){char character;int result = factor();while((character=cin.peek())=='*' || character=='/'){cin.get();if(character=='*') result *= factor();else result /= factor();}return result;
}
int expression(){char character;int result = term();while((character=cin.peek())=='+' || character=='-'){cin.get();if(character=='+') result += term();else result -= term();}return result;
}
int main(){cout << expression();return 0;
}
这篇关于[笔记][中国大学mooc][程序设计与算法(二) 算法基础][递归] 表达式求值的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!