四则运算

Python四则运算 Python四则运算 思路:输入一串表达式,比如20✳35=,然后运算出结果20✳35= 700 缺点:只能进行一次运算,如果输入连加连乘,就报错。后续使用正则表达式进行过滤,应该可以实现。 #-*- coding: utf-8 -*- def add(choice,count): for i in choice: if i == "+": choice = choice.replace("+","") break c 阅读详情

1.构造后缀表达式

  • 利用stack,存储操作符;自定义一个数据结构,存放val 和 op;
  • 入栈的操作符优先级要高于栈顶的操作符。如果当前op优先级低,则需要把栈顶的op先出栈,再入栈
  • 有可能输入的字符大于9, 则需要判断:从字符串中找出数字的计算方法 
  •  

https://blog.youkuaiyun.com/liqiutuoyuan/article/details/72854471

2.利用后缀表达式计算值

  • 利用stack 存储值
  • 遇到op,就出栈两个元素。注意先出栈的是被减数。

https://blog.youkuaiyun.com/yangquanhui1991/article/details/52187375

 

struct node{
    char op=NULL;
    int val=INT_MIN;
};

int main(){
    char ch[20];
    cin >> ch;
    cout<< *ch;
    stack<char> op;
    vector<node> express;
    int i = 0;
    while(ch[i]!='\0'){
        node temp;
        if('0' <= ch[i] && ch[i] <= '9'){ //数字  从字符串中找出数字的计算方法
            int num = 0;
            while('0' <= ch[i] && ch[i] <= '9'){
                num = num *10 +ch[i] -'0';
                i++;
            }
            i--;
            temp.val = num;
            express.push_back(temp);
        }else{// 操作符 “+” “-”  ; “)” ; “(”, “*” “/" 
            if(!op.empty() && (op.top() == '*' || op.top() == '/') && (ch[i] == '+' || ch[i] == '-')){
                while(!op.empty() && (op.top() == '*' || op.top() == '/')){
                    temp.op = op.top();
                    op.pop();
                    express.push_back(temp);
                }
                op.push(ch[i]);
            }else if(ch[i] == ')'){
                while(!op.empty() && op.top() != '('){
                    temp.op = op.top();
                    express.push_back(temp);
                    op.pop();
                }
                op.pop();
            }else{
                op.push(ch[i]);
            }
        }
        i++;
    }
    while(!op.empty()){
        node temp;
        temp.op =op.top();
        express.push_back(temp);
        op.pop();
    }
    //计算后缀表达式
    stack<int> s;
    for(int i = 0; i < express.size(); i++){
        if(express[i].val!=INT_MIN){
            s.push(express[i].val);
            
        }else{
            int b = s.top();
            s.pop();
            int a = s.top();
            s.pop();
            cout<< a << " " << b << " " << express[i].op << endl;
            switch(express[i].op){
                case '+':s.push(a+b); break;
                case '-':s.push(a-b); break;
                case '*':s.push(a*b); break;
                case '/':s.push(a/b); break;
                default: break;
            }
        }
    }
    cout<< s.top()<<endl;
    
}

 

java四则运算考试系统_小学生四则运算出题软件-基于java控制台的实现 、题目描述:1.使用-n参数控制生成题目的个数,例如Myapp.exe -n 10 -o Exercise.txt将生成10个题目。2.使用-r参数控制题目中数值(自然数、真分数和真分数分母)的范围,例如Myapp.exe -r 10将生成10以内(不包括10)的四则运算题目。该参数可以设置为1或其他自然数。该参数必须给定,否则程序报错并给出帮助信息。3.生成的题目中如果存在形如e1... 阅读详情

相关推荐

简易计算器(实现四则运算、次方运算与基础的从左向右运算)

此文件为计算器c++源码,实现了计算器中的四则运算与次方运算,运算方法为从左往右依次运算(不支持括号)

ZZULIOJ 1037: 四则运算

题目 tips: 1.输入格式空格隔开(分别是实数,字符,实数) 2.记得取绝对值哪里用fabs(对实数)而不是abs(对整数) #include<math.h> int main(){ double a,b; char ch; scanf("%lf %c %lf",&a,&ch,&b); if(ch=='+') printf("%.2...

vivi_cin的博客 3980

STM32CubeMX实战:TIM定时器中断配置避坑指南(附100ms精准定时代码)

本文深入解析STM32CubeMX配置TIM定时器中断的常见误区与避坑技巧,重点阐述时钟源、预分频器与自动重装载值的精准计算方法。通过实战案例,提供一份可直接复用的100ms精准定时中断代码模板,并分享调试验证方法,帮助开发者构建稳定可靠的嵌入式系统心跳。

grafana8visual的博客 500

zzulioj 1037: 四则运算(Switch法)

表达式的格式为:s1 op s2, s1和s2是两个实数,op表示的是运算符(+,-,*,/),也可能是其他字符。注意运算符两侧各有一个空格。如果运算符合法,输出表达式的值;若运算符不合法或进行除法运算时除数是0,则输出"Wrong input!最后结果小数点后保留两位。给你一个简单的四则运算表达式,包含两个实数和一个运算符,请编程计算出结果。易错点在(if法)中明确写出了,有需要的小伙伴可以去看看上一篇文章。

qq_73707119的博客 869

PP生产订单的BADI增强 WORKORDER_UPDATE

我们的项目需求是: 1、 保存时检查工单BOM是否存在物料号相同的行项目,如果有则提示“物料& 重复,请检查工单BOM” 系统增强出口:PPCO0001,检查组件行项目是否有重复物料项 开始以为的增强增强看一下是用PPCO0001还是PPCO0007 后来找到了badi WORKORDER_UPDATE IF_EX_WORKORDER_UPDATE~BEFORE_UPDATE

ERP运维咨询(目标和成功) 4637

关于MII、RMII、GMII、RGMII、PHY、网络变压器、RJ45的硬件总结

文章目录前言一、网络传输结构及原理1.以太网的工作原理2.TCP/IP协议3.数据链路层(MAC)二、介质独立接口MII,RMII,GMII,RGMII1.MII(Media Independent interface)2.RMII(Reduced Media Independent Interface)3.GMII(Gigabit Medium Independent)4.RGMII(Reduced Gigabit Media Independent Interface)三、物理层芯片(PHY)二、使用步

weixin_44415816的博客 3万+

1037: 四则运算

如果运算符合法,输出表达式的值;若运算符不合法或进行除法运算时除数是0,则输出"Wrong input"。最后结果小数点后保留两位。表达式的格式为:s1 op s2, s1和s2是两个实数,op表示的是运算符(+,-,*,/),也可能是其他字符。给你一个简单的四则运算表达式,包含两个实数和一个运算符,请编程计算出结果。除数是0,用|s2|<1e-10(即10的-10次方)判断。注意:scanf里面%c两边要打空格。

qq_61584181的博客 503

【机器学习-09】特征工程

特征工程是机器学习模型构建的初步工作,但它的重要性却贯穿整个模型生命周期。在进行特征工程时,我们需要充分利用数据科学的知识和技巧,结合具体的应用场景和业务需求,来制定出最合适的特征提取和转换策略。只有这样,我们才能为机器学习模型提供最有价值的输入,从而使其发挥出最大的潜力。总之,特征工程是机器学习中的一项关键任务,它需要我们用心去探索、去实践、去创新。只有不断地优化和完善特征工程的过程,我们才能构建出更加准确、更加可靠的机器学习模型,为实际应用带来更大的价值。

qq_38614074的博客 2万+

ZZULIOJ 1037: 四则运算 (C/C++)

表达式的格式为:s1 op s2, s1和s2是两个实数,op表示的是运算符(+,-,*,/),也可能是其他字符。判断两个浮点数x和y相等的方法:判断fabs(x-y)是否小于一个足够小的数,如fabs(x-y)<1e-10(10的-10次方)。因为浮点数是对实数的近似表达,判断浮点数相等不能用‘==’和‘!判断浮点数y为0的方法:判断fabs(y)是否小于一个足够小的数。给你一个简单的四则运算表达式,包含两个实数和一个运算符,请编程计算出结果。除数是0,用|s2|<1e-10(即10的-10次方)判断。

无 774

SAP ERP 系统订单行项目中的计划行(Scheduled Line)详解

*计划行(Scheduled Line)**是SAP系统中订单行项目(如采购订单、生产订单、销售订单等)的细分单元,用于记录和管理物料的供应或需求计划。每个订单行项目可以包含一个或多个计划行,每个计划行对应具体的交货日期、数量、需求类型(如采购申请、生产订单、库存调拨等)以及相关的物流控制参数。简单来说,计划行是系统对某一物料在特定时间点的供需状态的详细规划,它将订单分解为更细粒度的执行步骤,确保供应链各环节(如采购、生产、仓储)能够按计划协同工作。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 3392

37、免驱动USB双目同步测距3D活体深度检测和RV1126结合V4L开发USB摄像头使用

基本思想:需要使用双目摄像头在rv1126上进行活体检测,然后将画面实时返回到桌面上,记录一下。第二步:刷机rv1126开发板系统和ssh远程连接,见参考目录。第一步:购买可见光的红外摄像头,见参考连接,在PC端测试可用。

sxj731533730 2621

【头哥-Python】1.1四则运算

定义函数本质上是给一段程序起一个名字,方便重复调用这段程序。def 函数名(): # 函数定义pass # 缩进的一条或多条程序语句pass # 缩进块里的语句用于调用函数和给函数传递参数示例def add(m, n): # 定义函数add,调用时3传给m,5传给n"""计算m和n的和并带计算表达式输出"""print(f'{m} + {n} = {m + n}') # 输出3 + 5 = 8a = int(input()) # 输入3b = int(input()) # 输入5。

qq_67502430的博客 7881

Plecs standalone 4.9.5最新版本,赶紧来下载使用吧,需要做并网逆变器及光伏储能变换器的朋友赶紧下载起来

PLECS 4.9.5较4.7.1版实现全面升级:采用自适应求解器切换技术,支持多核CPU/GPU加速,仿真速度提升30-50%;新增模型引用功能,实现模块化设计;强化光伏/风电等新能源组件,支持多物理场耦合分析;优化代码生成功能,兼容多种硬件平台和FMU导入。新版特别适用于复杂电力电子系统、多域联合仿真及硬件在环测试项目,但对硬件配置要求更高。基础教学项目仍可使用4.7.1版本。建议用户根据项目复杂度选择升级方案。

2457

Java简单四则运算

题目 从控制台输入只有一个四则运算符(+,-,,/)的简单四则运算式子,然后输出计算结果。例如输入345+23,则输出345+23=368;输入20100,则输出20*10=2000;如果输入非四则运算式子就给出提示信息。运算结果如下图所示 提示:本篇文章是面对初学者文章,其中未使用java语言中类与对象的概念,没有什么深层次和抽象的内容。学习者只需一步一步阅读就可理解程序的运行逻辑,与c语言编程较为相似。 不足需改正点:1.该程序没有使用函数,即没有将程序做模块化设计。2.该程序的判断条件仍未完善,例如

qq_48157192的博客 7385

【Bug已解决】codex: debug 模式无输出 — CodeX CLI 调试模式不工作解决方案

CodeX CLI 开启 debug 模式后无输出/日志不打印的解决方案,含 debug 开关、日志级别、stderr 重定向与 IDE 日志面板。

一键难忘的博客 4165

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

python四则运算

github项目地址 : https://github.com/kongkalong/python PSP表格 : PSP2.1 预估耗时(小时) 实际耗时(小时) Planning .Estimate 72 48 Development ...

weixin_30735745的博客 5795

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

java四则运算代码_Java实现简单四则运算

GitHub 项目地址PSPPSP2.1Personal Software Process Stages预估耗时(分钟)实际耗时(分钟)Planning计划1010· Estimate· 估计这个任务需要多少时间1010Development开发655600· Analysis· 需求分析(包括学习新技术)3035· Design Spec· 生成设计文档3040· Design Review· ...

weixin_35880151的博客 3950

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

html四则运算自动出题程序

要求: 1、100以内四则运算,题目自动生成; 2、页面需要有计算结果输入框,提交按钮; 3、用户提交结果之后系统能自动计算成绩; 4、系统能提示用户答错的题号,可以在答错的题号后做一个标记。 未提交界面如下: 提交后界面如下: 代码: html: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>小学四则运算自动出题&l

Blocking The Sky 1916

四则运算的正则校验

场景:我们选取变量,变量使用${} 或者#{}包裹起来,然后可以四则运算(±*/和括号),需要校验正确性。

神zhi殇的博客 2217

C#四则运算的实现

看大话数据结构 利用栈实现四则运算这一块儿正好是只有讲解没有代码实现的 于是照着书上的原理自己写了个四则运算的C#代码 以后可以考虑到作为自己的类库中的组件 主要涉及的是逆波兰式 程序主要部分为逆波兰式的产生 以及通过逆波兰式产生最终的四则运算结果 使用的时候只需输入四则运算

xboxeer的专栏 7601

python四则运算程序_四则运算(Python)

四则运算程序一、信息二. 题目要求写一个能自动生成小学四则运算题目的程序,然后在此基础上扩展:1除了整数以外,还要支持真分数的四则运算,例如:1/6+1/8=7/242程序要求能处理用户的输入,判断对错,累积分数3程序支持可以由用户自行选择加、减、乘、除运算4使用-n参数控制生成题目的个数,例如Myapp.exe -n 10,将生成10个题目三、代码import random ...

weixin_39677870的博客 4041

java四则运算简单界面版

Java 实现简单四则运算测试

weixin_57254695的博客 1525

学校头歌作业1_2四则运算(头歌作业[Python])

在优快云上补充前几期的内容。

counting_stars1的博客 1万+

1.1 四则运算(project)

定义函数本质上是给一段程序起一个名字,方便重复调用这段程序。

nianci602的博客 1389

java四则运算思路_java四则运算

代码存放coding地址:https://coding.net/u/Jerryii/p/ArithmeticTopic/git/blob/master/.gitignore一、题目描述:实践能力的提高当然就是得多动手了,那么就从第一个个人项目开始吧,用一周的时间完成一个基于控制台的四则运算程序,实现一个自动生成小学四则运算题目的命令行程序。从《构建之法》第一章的 “程序” 例子出发,像阿超那样,花...

weixin_31081677的博客 1017
上一篇: 保持线程安全的几种方式
下一篇: 关于走格子的问题
kotomi_du
博客等级 码龄10年 5粉丝 91原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值