四则运算

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

RIGOL DS1102E示波器新手必看:从开机到捕获第一个波形的5分钟指南

本文为RIGOL DS1102E示波器新手提供了一份快速上手指南。内容涵盖从开机、探头校准到捕获第一个波形的完整流程,重点解析了触发设置、自动测量等核心操作,并指出了探头衰减比设置等常见误区,帮助用户快速掌握这款经典数字示波器的基本使用方法。

dream的博客 742

zzulioj 1037: 四则运算(Switch法)

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

qq_73707119的博客 869

实测有效!YOLOv8融合EMA注意力机制后,在无人机航拍目标检测中的性能提升对比

本文详细介绍了YOLOv8融合EMA注意力机制在无人机航拍目标检测中的性能提升效果。通过多尺度特征融合和通道-空间双重注意力机制,EMA模块显著提升了小目标检测的准确率,mAP@0.5平均提升4.2%,同时保持推理速度基本不变。文章还提供了模型定制、训练技巧和实际部署优化的全流程指南。

weixin_33704234的博客 392

脑机接口中的视觉信号解码:原理、技术与应用

脑机接口中的视觉信号解码:原理、技术与应用​ ,人工智能,计算机视觉,大模型,AI,脑机接口(Brain - Computer Interface,BCI)作为一种革命性的技术,致力于搭建人脑与外部设备之间的直接通信桥梁,绕开传统的神经肌肉输出通路。其核心目标是解读大脑活动产生的信号,从而实现对外部设备的精准控制或信息交互。在众多脑机接口研究方向中,视觉信号解码因其独特的优势和广泛的应用前景,吸引了大量科研人员的关注。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 20万+

1037: 四则运算

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

qq_61584181的博客 503

关于在线excel插件Univer笔记教程

univer在线excel插件确实是够强大,但也存在不少bug,用户用起来是真的很爽,和本地的wps差不多,但真正的开发起来是真的费劲。由于文档提供的信息不足,我们很多功能只能去看他们插件里的源代码,然后一点点测试,一点点尝试研究。此文章可省去五天的研究成本

guiplan 5827

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

YOLO11-pose关键点检测:训练实战篇 | 自己数据集从labelme标注到生成yolo格式的关键点数据以及训练教程

教会你如何用自己的数据集转换成对应格式的数据集以及如何训练YOLO11-pose关键点检测

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 5419

S7-200SMART PLC中进行MODBUS RTU通信的3种方法(1)

S7-200SMART PLC中进行MODBUS RTU通信的3种方法(1)

Robot_PLC_HMI_Automation 4241

【头哥-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

【AUTOSAR-IpduM】-3.1-配置一个发送Tx Dynamic Container PDU(Multiple-PDU)

手把手教您如何配置一个Tx Dynamic Container PDU(Multiple-PDU),动态容器复用帧。并附上测试LOG帮助您进一步加深理解。

「汽车电子助手」的博客 1771

Java简单四则运算

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

qq_48157192的博客 7385

CVAEGAN实现锂离子电池EIS数据增强:基于健康状态的阻抗谱生成

本文提出了一种基于CVAEGAN的锂离子电池EIS数据增强方法。该方法结合了变分自编码器和生成对抗网络的优点,能够根据指定的健康状态(SoH)生成高质量的EIS阻抗谱数据。文章详细介绍了数据预处理流程、模型架构设计(包括编码器、解码器和判别器),并提供了完整的PyTorch实现代码。通过条件生成的方式,该方法可以有效解决电池健康评估中标注数据不足的问题,为基于数据驱动的电池诊断提供更丰富的训练样本。实验结果表明,生成的EIS数据具有良好的真实性和多样性,可用于增强电池健康状态评估模型的性能。

huanghm88的专栏 501

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

python四则运算

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

weixin_30735745的博客 5795

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

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

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

weixin_35880151的博客 3950

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

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、付费专栏及课程。

余额充值