表达式计算

表达式计算 递归法

输入为四则运算表达式,仅有数字、+、-、*、/、(、)组成,没有空格,要求求气其值。假设运算符结果都是整数。“/”结果也是整数。

编写方法:c++
注释:表达式是一个递归定义,如下图,一个表达式由一个或多个项通过加减符号连接组成,而一个项则是由一个或多个因子由加减符号连接组成,而因子则是一个通过括号括起来的表达式或者一个数。通过它们之间的联系可以写出一个相互递归调用的程序。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

#include <iostream>
#include <cstring>
#include <cstdlib>
using namespace std;
int factor_value();
int term_value();
int expression_value();

int factor_value(){
    int result=0;
    char c=cin.peek();
    if(c=='('){
        cin.get();
        result=expression_value();
        cin.get();
       }
       else{
        while(isdigit(c)){
            result=10*result+c-'0';
            cin.get();
            c=cin.peek();
        }
       }
       return result;
}
int term_value(){      //求一个项的值
    int result=factor_value(); //求第一个因子的值
    while(true){
        char op=cin.peek();
        if(op=='*'||op=='/'){
            cin.get();
            int value=factor_value();
            if(op=='*')
                result*=value;
            else
                result/=value;
        }
        else
            break;
    }
    return result;
}
int expression_value(){   //求一个表达式的值
    int result=term_value();   //求第1项的值
    bool more=true;
    while(more){
        char op=cin.peek(); //看一个字符,不取走
        if(op=='+'||op=='-'){
            cin.get();   //从输入中取走一个字符
            int value=term_value();
            if(op=='+')
                result+=value;
            else
                result-=value;
        }
        else more=false;
    }
    return result;
}
int main()
{
    cout<<expression_value()<<endl;
    return 0;
}

HTML 是一种用于创建网页的标记语言,它本身不支持表达式计算。但是,我们可以使用 JavaScript 来实现在 HTML 页面中进行表达式计算。JavaScript 是一种脚本语言,可以嵌入到 HTML 中,在浏览器端运行。 通过在 HTML 页面中嵌入 JavaScript 代码,我们可以实现简单的表达式计算。比如,我们可以在 HTML 页面中添加一个输入框和一个按钮,当用户输入一个表达式并点击按钮时,JavaScript 代码可以解析这个表达式计算出结果,最后将结果显示在页面上。 下面是一个简单的 HTML 页面示例,其中包含一个输入框和一个按钮,点击按钮时会计算输入框中的表达式并显示结果: ```html <!DOCTYPE html> <html> <head> <title>表达式计算</title> <script> function calculate() { // 获取输入框中的表达式 var expr = document.getElementById("expr").value; // 使用 eval 函数计算表达式的值 var result = eval(expr); // 将结果显示在页面上 document.getElementById("result").innerHTML = result; } </script> </head> <body> <h1>表达式计算</h1> <input type="text" id="expr" /> <button onclick="calculate()">计算</button> <div id="result"></div> </body> </html> ``` 请注意,eval 函数可以将字符串解析为 JavaScript 代码并执行。因此,在使用 eval 函数时应该非常小心,避免安全问题。同时,在实际开发中,我们也应该使用更加严谨和安全的方来进行表达式计算
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值