⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 递归下降法整数运算.cpp

📁 该程序使用了递归下降算法进行算术表达式的计算
💻 CPP
字号:
#include "递归下降法整数运算.h"

char TOKEN;

void get_token () {
	TOKEN = getchar ();
}
void match (char c) {
	if (TOKEN == c) get_token ();
}
int command () {
	int result = expression ();

	return result;
}
int expression () {
	int result = term ();

	while (TOKEN == '+' || TOKEN == '-') {
		char tmp = TOKEN; 
		get_token ();
		tmp == '+' ? 
			result += term () : result -= term ();
	}

	return result;
}
int term () {
	int result = factor ();

	while (TOKEN == '*' || TOKEN == '/') {
		char tmp = TOKEN;
		get_token ();
		tmp == '*' ? 
			result *= factor () : result /= factor ();
	}

	return result;
}
int factor () {
	int result;

	if (TOKEN == '(') {
		get_token ();
		result = expression ();
		match (')');
	} else
		result = number ();

	return result;
}
int number () {
	int result = digit ();

	get_token ();
	while (TOKEN <= 57 && TOKEN >= 48) {
		result = 10 * result + digit ();
		get_token ();
	}
	
	return result;
}
int digit () {
	int result = TOKEN - '0';
	return result;
}
void parse () {
	get_token ();
	int result = command ();

	printf ("The result of this expression is: %d\n", result);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -