蓝桥杯练习系统(算法训练)ALGO-975 P0802字符串表达式

news2024/10/5 16:32:42

资源限制

内存限制:256.0MB   C/C++时间限制:1.0s   Java时间限制:3.0s   Python时间限制:5.0s

  编写一个字符串表达式求解函数int expression(char* s); 输入一个字符串表达式,返回它的结果。表达式长度不会超过100。表达式最少有一项,且以等号=结束。表达式中只包含加法和减法,且运算均在整数范围之内。
  编写main函数测试该函数的正确性。

输入:
  2+2345+913-3=

输出:
  3257

#include<iostream>
#include<string>
#include<stack> 
using namespace std;
stack<int> num;//操作数栈
stack<char> op;//运算符栈
void operate(){
	int b=num.top();//右操作数
	num.pop();
	int a=num.top();//左操作数
	num.pop();
	if(op.top()=='+') num.push(a+b);
	if(op.top()=='-') num.push(a-b);
	op.pop();
}
int main(){
	string s;
	cin>>s;
	for(int i=0;i<s.length()-1;i++){//最后一个是“=” 
		if(s[i]>='0'&&s[i]<='9'){//操作数(可能不是个位数,比如12) 
			int j=i;
			int x=0;//操作数
			while(j<s.length()-1&&s[j]>='0'&&s[j]<='9'){
				x=x*10+s[j++]-'0';
			} 
			num.push(x);
			i=j-1;//i指向整个操作数的个位数 
		}else{//运算符 
			if(op.empty()) op.push(s[i]);
			else{
				operate();
				op.push(s[i]);
			} 
		} 
	}
	//剩余
	while(op.size()) operate();
	cout<<num.top()<<endl;
	return 0;
}

思路:中缀表达式的计算。 比中缀表达式求值简单。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1510386.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于springboot+vue的汽车改装方案网站(源码+论文)

目录 前言 一、功能设计 二、功能实现 三、库表设计 四、论文 前言 对于当今社会发展趋势越来越迅猛&#xff0c;传统汽车改装模式的没落,我认为这并不是不能避免的,但说实话,现在的生活方式与以往相比有太大的改变&#xff0c;人们的娱乐方式不仅仅再是读书看报。由于近些…

【基于HTML5的网页设计及应用】——判断是否为闰年

&#x1f383;个人专栏&#xff1a; &#x1f42c; 算法设计与分析&#xff1a;算法设计与分析_IT闫的博客-CSDN博客 &#x1f433;Java基础&#xff1a;Java基础_IT闫的博客-CSDN博客 &#x1f40b;c语言&#xff1a;c语言_IT闫的博客-CSDN博客 &#x1f41f;MySQL&#xff1a…

Linux运维之管理工具篇

一、前言 因运维过程中&#xff0c;经常会借助于很多工具来实现我们的监控、备份、校验&#xff0c;安全测试&#xff0c;批量操作&#xff0c;可视化辅助&#xff0c;集中管理等&#xff0c;甚至AI相关&#xff0c;本文特对常用工具进行梳理记录&#xff0c;以备不时之需及后…

【Consul】注册Consul服务时报错404

【Consul】注册Consul服务时报错404 大家好 我是寸铁&#x1f44a; 总结了一篇golang注册Consul服务时报错404✨ 喜欢的小伙伴可以点点关注 &#x1f49d; 问题背景 今天寸铁想注册一个服务到Consul服务中心&#xff0c;却发现报错了&#xff0c;错误码是404&#xff0c;下面和…

精通 Python 装饰器:代码复用与功能增强技巧

精通 Python 装饰器&#xff1a;代码复用与功能增强技巧 引言装饰器基础装饰器的定义基本装饰器的实现方法理解 符号的用法简单装饰器示例代码 使用装饰器增强函数功能日志记录性能测试事务处理小结 装饰器进阶应用管理用户认证缓存机制的实现参数化装饰器的创建和应用多个装饰…

unity

Unity官方下载_Unity最新版_从Unity Hub下载安装 | Unity中国官网 Unity Remote - Unity 手册 登陆账号&#xff0c;找到一个3d 免费资源 3D Animations & Models | Unity Asset Store unity 里面window->package Manager 里面可以看到自己的asset &#xff0c;下载后…

xlsx.js读取本地文件,按行转成数组数据

1.下包 //1. npm install xlsx //2. yarn add xlsx2.结构 <template><input type"file" change"onFileChange" /> </template>3.代码 <script> import * as XLSX from xlsxexport default {methods: {onFileChange (event) {/…

基于SpringBoot的“学生成绩管理系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“学生成绩管理系统”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 登录界面图 管理员功能界面图 学生管理界面图…

解决方案∣解密新能源产业的供应链革新之路,助力行业驶入数字化转型“快车道”

近期&#xff0c;备受关注的2024年全国两会如期举行&#xff0c;国务院总理李强作政府工作报告中多次提到锂电产业链上下游。 政府工作报告指出&#xff0c;2023年&#xff0c;国内新能源汽车产销量分别达到958.7万辆和949.5万辆&#xff0c;占全球比重超60%&#xff0c;产销连…

OpenSearch 与 Elasticsearch:哪个开源搜索引擎适合您?

当谈论到搜索引擎产品时&#xff0c;Elasticsearch 和 OpenSearch 是两个备受关注的选择。它们都以其出色的功能和灵活性而闻名&#xff0c;但在一些方面存在一些差异。在本文中&#xff0c;我们将从功能和延展性、工具与资源、价格和许可这三个角度对这两个产品进行论述。通过…

柚见第十一期(前端页面开发)

创建队伍 便于控制样式,在外面套一层div 创建假数据模拟后端传来数据 //假数据模拟 const initFormData { "name": "", "description": "", "expireTime": "", "maxNum": 0, "passwor…

jvisualvm保姆级教程

这里写目录标题 背景步骤VisualVM是什么官网下载安装gc插件监控本地java项目我们看看有哪些监控指标 远程java应用监控JMXjstatd 总结 背景 在有时候我们需要分析java应用的一些内存、gc等情况进行性能分析。我们往往需要一些性能分析利器&#xff0c;而VisualVM算是其中一个&…

C# 用Trace.WriteLine输出调试信息无法查看

写程序就会遇见BUG&#xff0c;这时候在代码不同部位输出一些标记的信息对查找错误非常有必要&#xff0c;一般情况下我们都是使用Console.WriteLine()方法来打印信息到控制台窗口&#xff0c;但有时候使用Console.WriteLine()方法会存在不方便的情况&#xff0c;比如鄙人遇到的…

javaEE8(数据库编程课后习题1,2)

一&#xff1a; 二&#xff1a; 数据库内信息&#xff1a; 登录&#xff1a; 注册&#xff1a; Register.jsp <% page pageEncoding"UTF-8" import"java.sql.*"%> <!DOCTYPE html> <html lang"en"> <head> <…

微信支付商户号如何开通 0.2% 提现费率?

微信支付商户号如何开通 0.2% 提现费率&#xff1f; 先说结论&#xff1a;本地面对面收款0.2%有可能&#xff0c;但线上不可能0.2%&#xff01;因为没利润&#xff01; 天下没有免费的午餐&#xff0c;所以不要被骗了。 支付宝和微信商户的费率除了少数公共事业&#xff08;…

php集成修改数据库的字段

1.界面效果 2.代码 <?phpecho <form action"" method"post"><label for"table">表名:</label><input type"text" id"table" name"table"><br><div id"fieldsContaine…

算法——哈希王

242.有效的字母异位词 力扣题目链接(opens new window) 给定两个字符串 s 和 t &#xff0c;编写一个函数来判断 t 是否是 s 的字母异位词。 示例 1: 输入: s "anagram", t "nagaram" 输出: true 示例 2: 输入: s "rat", t "car&qu…

基于若依的ruoyi-nbcio流程管理系统自定义业务流程出现多个时相应的流程选择问题(一)

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码&#xff1a; https://gitee.com/nbacheng/ruoyi-nbcio 演示地址&#xff1a;RuoYi-Nbcio后台管理系统 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码&#xff1a; https://gitee.com/nbacheng/n…

基于PLC全自动药品包装机系统的设计5.26

摘 要 在科技迅猛发展的今天&#xff0c;人民生活水平也在逐步上升的同时&#xff0c;我们国家的医药包装行业却停滞不前&#xff0c;仍停留在使用继电器控制系统生产产品&#xff0c;然而这种控制系统却有着不可靠&#xff0c;线路极其复杂&#xff0c;出现故障问题难以解决的…