当前位置: 首页 > news >正文

阿里能帮做网站吗/学it学费大概多少钱

阿里能帮做网站吗,学it学费大概多少钱,上海天华建筑设计有限公司地址,国外网络ip地址目录 第2题 实现以字符串形式输入的简单表达式求值 得分点(必背) 题解 1. 初始化和变量定义 2. 获取第一个数字并存入队列 3. 遍历表达式字符串,处理运算符和数字 4. 初始化 count 并处理加减法运算 代码详解 🌈 嗨&#xf…

目录

第2题 实现以字符串形式输入的简单表达式求值

得分点(必背)

题解 

 1. 初始化和变量定义

 2. 获取第一个数字并存入队列

3. 遍历表达式字符串,处理运算符和数字

4. 初始化 count 并处理加减法运算

 代码详解


🌈 嗨,我是命运之光!

🌌 2024,每日百字,记录时光,感谢有你,携手前行~

🚀 携手启航,我们一同深入未知的领域,挖掘潜能,让每一步成长都充满意义。


第2题 实现以字符串形式输入的简单表达式求值

编写算法,实现字符串形式输入的简单表达式求值,表达式的运算符仅有+、-、*、/、%五种。并且已知函数 float GetVaule(char ch[],int start)返回字符串从 start 位置开始的第一个数字

例如:若 ch="1.2+3.4*5.6+7.8" ,则 GetVaule(ch,1),返回的值是1.2;GetVaule(ch,5),返回的值是 3.4。

得分点(必背)

//得分点:1.2+3.4*5.6+7.8
// 定义 Figure_Value 函数
float Figure_Value(char ch[]) {int n=strlen(ch);float count=0;float num_queue[n];int front1=0,rear1=-1;int front2=0,rear2=-1;char ch_queue[n];//获取第一个数字并存入num_queuenum_queue[++rear1]=GetValue(ch,0);for(int i=0;i<n;i++){if(ch[i]=='+'||ch[i]=='-'){num_queue[++rear1]=GetValue(ch,i+1);ch_queue[++rear2]=ch[i];}else if(ch[i]=='*'){num_queue[rear1]=num_queue[rear1]*GetValue(ch,i+1);}else if (ch[i]=='/'){num_queue[rear1]=num_queue[rear1]/GetValue(ch,i+1);}else if (ch[i]=='%'){num_queue[rear1]=static_cast<int>(num_queue[rear1])%static_cast<int>(GetValue(ch,i+1));}} //初始化count为num_queue中的某一个元素count=num_queue[front1++];//处理加减法while(front2<=rear2){if (ch_queue[front2]=='+'){count=count+num_queue[front1++];}else if (ch_queue[front2]=='-'){count=count-num_queue[front1++];}front2++;}return count;
}

题解 

下面是对 Figure_Value 函数进行详细的解释,以帮助你理解代码的工作原理并编写题解:

 1. 初始化和变量定义
int n = strlen(ch);
float count = 0;
float num_queue[n];
char ch_queue[n];
int front1 = 0, rear1 = -1;
int front2 = 0, rear2 = -1;
  • n 保存输入字符串的长度。
  • count 用于存储计算结果。
  • num_queue 是一个浮点数队列,用于存储数字。
  • ch_queue 是一个字符队列,用于存储运算符。
  • front1rear1 是操作 num_queue 的前端和后端指针。
  • front2rear2 是操作 ch_queue 的前端和后端指针。
 2. 获取第一个数字并存入队列
num_queue[++rear1] = GetValue(ch, 0);

调用 GetValue 函数从字符串的开头获取第一个数字,并将其存入 num_queue

3. 遍历表达式字符串,处理运算符和数字
for (int i = 0; i < n; i++) {if (ch[i] == '+' || ch[i] == '-') {num_queue[++rear1] = GetValue(ch, i + 1);ch_queue[++rear2] = ch[i];} else if (ch[i] == '*') {num_queue[rear1] = num_queue[rear1] * GetValue(ch, i + 1);} else if (ch[i] == '/') {num_queue[rear1] = num_queue[rear1] / GetValue(ch, i + 1);} else if (ch[i] == '%') {num_queue[rear1] = static_cast<int>(num_queue[rear1]) % static_cast<int>(GetValue(ch, i + 1));}
}

遍历字符串 ch,根据字符是运算符还是数字,执行不同的操作:

  • 如果是加法或减法运算符,将下一个数字存入 num_queue,并将运算符存入 ch_queue
  • 如果是乘法、除法或取余运算符,直接对 num_queue 的最后一个元素进行运算。
4. 初始化 count 并处理加减法运算
count = num_queue[front1++];while (front2 <= rear2) {if (ch_queue[front2] == '+') {count = count + num_queue[front1++];} else if (ch_queue[front2] == '-') {count = count - num_queue[front1++];}front2++;
}
  • count 初始化为 num_queue 中的第一个元素。
  • 遍历 ch_queue,根据运算符的类型,对 count 进行加减操作。

 代码详解

  1. 问题描述:编写一个函数 Figure_Value,计算以字符串形式输入的简单表达式的值。表达式的运算符仅包括 +-*/% 五种。

  2. 输入:一个包含表达式的字符串,例如 "1.2+3.4*5.6+7.8"

  3. 输出:计算表达式的结果。

  4. 函数说明

    • GetValue 函数:从字符串的指定位置开始,提取并返回第一个数字(浮点数)。
    • Figure_Value 函数:解析输入字符串并计算表达式的值。
  5. 实现步骤

    • 初始化变量和队列。
    • 获取第一个数字并存入 num_queue
    • 遍历表达式字符串,根据运算符的类型执行不同操作:
      • 对于加法和减法运算符,将数字和运算符分别存入 num_queuech_queue
      • 对于乘法、除法和取余运算符,直接对 num_queue 的最后一个元素进行计算。
    • 初始化 countnum_queue 中的第一个元素。
    • 遍历 ch_queue,根据运算符的类型,对 count 进行加减操作。
  6. 示例

    • 输入:"1.2+3.4*5.6+7.8"
    • 输出:计算结果 1.2 + (3.4 * 5.6) + 7.8 的值。

嗨,我是命运之光。如果你觉得我的分享有价值,不妨通过以下方式表达你的支持:👍 点赞来表达你的喜爱,📁 关注以获取我的最新消息,💬 评论与我交流你的见解。我会继续努力,为你带来更多精彩和实用的内容。

点击这里👉 ,获取最新动态,⚡️ 让信息传递更加迅速。

相关文章:

【算法设计题】实现以字符串形式输入的简单表达式求值,第2题(C/C++)

目录 第2题 实现以字符串形式输入的简单表达式求值 得分点&#xff08;必背&#xff09; 题解 1. 初始化和变量定义 2. 获取第一个数字并存入队列 3. 遍历表达式字符串&#xff0c;处理运算符和数字 4. 初始化 count 并处理加减法运算 代码详解 &#x1f308; 嗨&#xf…...

Kylin系列-入门

Kylin系列-入门 Apache Kylin是一个开源的分布式分析引擎&#xff0c;提供Hadoop/Spark之上的SQL查询接口及多维分析&#xff08;OLAP&#xff09;能力&#xff0c;以支持超大规模数据。以下是对Kylin系列的入门介绍&#xff1a; 一、基本概念 1. 定义 Apache Kylin是由eBa…...

力扣-46.全排列

刷力扣热题–第二十六天:46.全排列 新手第二十六天 奋战敲代码&#xff0c;持之以恒&#xff0c;见证成长 1.题目简介 2.题目解答 这道题目想了会,思路比较好想,但一直没调试成功,所以就参考了力扣官网的代码,积累一下回溯算法的实现和基本实现思路,即先试探后回溯,结果在下面…...

博物馆展厅AI交互数字人,解锁创新的文化交互体验

在智能化时代&#xff0c;博物馆展厅融入AI交互数字人&#xff0c;可以为游客给予实时交互的旅游服务&#xff0c;AI交互数字人可以承担智能引导、讲解、接待、客服与导游等多重角色&#xff0c;为游客塑造崭新的旅游体验。 AI交互数字人相比传统的录屏解说相比&#xff0c;AI…...

DS18B20数字温度传感器操作解析

文章目录 引言特点工作原理引脚说明配置寄存器温度寄存器时序初始化时序写时序读时序 引言 DS18B20 是一种广泛使用的数字温度传感器&#xff0c;具有高精度和易用性。是Dallas Semiconductor公司&#xff08;现为Maxim Integrated公司&#xff09;生产的单总线数字温度传感器…...

你的财富正在被一个叫做通货膨胀的怪兽给吞噬掉,你却浑然不觉。

据统计&#xff0c;2024年全球总体通货膨胀率预计达到5.8%&#xff0c;这意味着&#xff1a;你的财富正在被一个叫做通货膨胀的怪兽给吞噬掉&#xff0c;你却浑然不觉。 数据来源&#xff1a;国际货币基金组织 如何跑赢通货膨胀&#xff1f; 家庭财富的积累速度&#xff0c;要…...

医疗设备漏费控制管理系统的必然性及未来发展性

医疗设备控费的必然性 医疗改革的要求 随着医疗改革的不断深入&#xff0c;原有的医药模式已经发生了改变。药品和耗材零差价的执行&#xff0c;使得医院需要寻找新的开源节流、降耗增效的方法。医疗设备控费系统的出现&#xff0c;正是为了满足这种管理需求。 控制成本和优…...

软件设计师笔记-网络基础知识

计算机网络的发展 计算机网络&#xff08;计算机技术通信技术&#xff09;的发展是一个逐步演进的过程&#xff0c;从简单的具有通信功能的单机系统&#xff0c;到复杂的以局域网及因特网为支撑环境的分布式计算机系统&#xff0c;这一历程经历了多个关键阶段&#xff1a; #me…...

MMC和eMMC的区别

MMC 和 eMMC 的区别 1. MMC MMC&#xff08;MultiMediaCard&#xff09;是一种接口协议&#xff0c;定义了符合这一接口的内存器&#xff0c;称为 MMC 储存体或 MMC 卡。它是一种非易失性存储器件&#xff0c;广泛应用于消费类电子产品中。 1.1 外观及引脚定义 MMC卡共有七个…...

亚马逊爬虫(Amazonbot)IP地址,真实采集数据

一、数据来源&#xff1a; 1、这批亚马逊爬虫&#xff08;Amazonbot&#xff09;IP来源于尚贤达猎头公司网站采集数据&#xff1b; ​ 2、数据采集时间段&#xff1a;2023年10月-2024年7月&#xff1b; 3、判断标准&#xff1a;主要根据用户代理是否包含“Amazonbot”和IP核…...

Spring Boot(八十四):集成Thumbnailator来生成缩略图

1 Thumbnailator简介 Thumbnailator是一个用于Java的缩略图生成库。通过Thumbnailator提供的流畅接口(fluent interface)的方式可以完成复杂的缩略图处理任务,无需访问Image I/O API并通过Graphics2D对象手动操作BufferedImages。 2 代码示例 2.1 引入依赖 <dependency&g…...

MySQL基础操作全攻略:增删改查实用指南(上)

本节目标&#xff1a; NOT NULL - 指示某列不能存储 NULL 值。 UNIQUE - 保证某列的每行必须有唯一的值。 DEFAULT - 规定没有给列赋值时的默认值。 PRIMARY KEY - NOT NULL 和 UNIQUE 的结合。确保某列&#xff08;或两个列多个列的结合&#xff09;有唯一标 识&am…...

SAP MM学习笔记 - 豆知识02 - MR21 修改物料原价,MM02 修改基本数量单位/评价Class,MMAM 修改物料类型/评价Class

上一章讲了一些豆知识。比如 - MM50 批量扩张品目 - XK05/06 Block/消除供应商 - MM06/MM16 品目消除 - SE11/SE16/SE16/SE16N/SE16H/DB02 等查看常用的操作Table和数据的T-code SAP MM学习笔记- 豆知识01 - MM50 批量扩张&#xff0c;XK05/XK06 Block/消除供应商&#xf…...

谷粒商城实战笔记-126-全文检索-ElasticSearch-整合-测试保存

文章目录 一&#xff0c;谷粒商城实战笔记-126-全文检索-ElasticSearch-整合-测试保存1&#xff0c;在Elasticsearch的配置类中增加通用设置2&#xff0c;索引数据3&#xff0c;验证 一&#xff0c;谷粒商城实战笔记-126-全文检索-ElasticSearch-整合-测试保存 1&#xff0c;在…...

flutter开发环境搭建与android studio 安装配置

flutter开发环境搭建与android studio 安装配置 安装 android studio 下载安装 Android Studio 开发工具 Android Studio官网安装的时看到配置路径就换成自己其他盘的路径即可&#xff0c;其他的一路下一步就ok安装完毕&#xff0c;运行打开缺少 android sdk 按照提示下载即可…...

postgresql 字符串 替换

postgresql 字符串 替换 在PostgreSQL中&#xff0c;可以使用replace()函数来替换字符串中的某个部分。该函数的语法如下&#xff1a; REPLACE(string text, from text, to text) 其中&#xff1a; string 是要进行替换操作的原始字符串。 from 是原始字符串中需要被替换掉的…...

如何强化学习神经网络

强化学习&#xff08;Reinforcement Learning, RL&#xff09;神经网络是一种通过奖励和惩罚机制来学习策略的方法&#xff0c;适用于各种复杂的决策问题。以下是强化学习神经网络的一些主要步骤和方法&#xff1a; 1. 了解基本概念 环境&#xff08;Environment&#xff09;…...

Hadoop未授权访问漏洞

Hadoop未授权访问漏洞 Hadoop是一个由Apache基金会所开发的分布式系统基础架构&#xff0c;由于服务器直接在开放了Hadoop机器HDFS的50070web端口及部分默认服务端口&#xff0c;黑客可以通过命令行操作多个目录下的数据&#xff0c;如进行删除&#xff0c;下载&#xff0c;目…...

Python中json模块的编码和解码

在Python中&#xff0c;可以用json模块处理JSON的编码和解码问题。json的全程是 javascript object notation, 翻译一下就是javascritpt 对象表示法。json是一种轻量级的数据交换格式&#xff0c;容易阅读和编写&#xff0c;支持的数据类型有&#xff1a;字符串、数字、数组和对…...

【Linux】文件变身大作战:Linux下的文件重命名艺术

欢迎来到 CILMY23 的博客 &#x1f3c6;本篇主题为&#xff1a;文件变身大作战&#xff1a;Linux下的文件重命名艺术 &#x1f3c6;个人主页&#xff1a;CILMY23-CSDN博客 &#x1f3c6;系列专栏&#xff1a;Python | C | C语言 | 数据结构与算法 | 贪心算法 | Linux | 算法…...

字节的存储和字符的存储

字节的存储 内存中的存储 基本数据类型&#xff1a; 在Java中&#xff0c;byte 类型占用 1 个字节&#xff08;8 位&#xff09;。它的取值范围是从 -128 到 127。存储在内存中的 byte 数据可以直接操作&#xff0c;例如通过数组或变量访问。 数据结构&#xff1a; byte 数组…...

Markdown插入Base64格式的图片,无需图床,稳定保存

Markdown插入Base64格式的图片&#xff0c;无需图床&#xff0c;稳定保存 我是一个Markdown的爱好者&#xff0c;转存图片是MD经常出问题的地方&#xff0c;因为MD不像其他富文本编辑器&#xff0c;将图片内嵌到文件中&#xff0c;而是用链接的形式引用&#xff0c;或网络链接…...

weblogic 连接gaussdb测试数据源是否联通

文章目录 1. gaussdb创建远程连接用户和数据库2. weblogic构建GaussDB源数据库3. 测试结果查询注意 weblogic中jar包已经放入lib目录中gaussdb已经创建可以连接登录的用户和数据库1. gaussdb创建远程连接用户和数据库 新建用户和数据库连接客户端Gauss=# create user lily pas…...

如何成为全域运营商?掌握这2种申请方式就够了!

随着全域概念的兴起&#xff0c;全域运营商的职业前景和收益空间逐渐显现&#xff0c;并迅速成为了热门创业赛道中的一份子&#xff0c;连带着如何成为全域运营商等入局方式相关话题也成为了众多创业者热议的焦点。 不过&#xff0c;从市场现状来看&#xff0c;作为涵盖公域和私…...

@ConfigurationProperties加在方法上

ConfigurationProperties注解通常用于将外部配置文件&#xff08;如application.properties或application.yml&#xff09;中的属性映射到Java类中。它通常加在类上&#xff0c;但也可以加在方法上。加在方法上时&#xff0c;通常与Bean注解一起使用&#xff0c;以便将配置属性…...

使用CUBEMX配置的USB大容量存储设备主机库获取LUN数量的不严谨代码纠正

最近在使用usb主机库驱动U盘直接进行扇区读写。 发现MSC库中获取LUN相关代码有问题 代码如下 其中 status USBH_MSC_BOT_REQ_GetMaxLUN(phost, (uint8_t *)(void *)&MSC_Handle->max_lun); MSC_Handle->max_lun (MSC_Handle->max_lun > MAX_SUPPORTED_L…...

合并重叠的区间

这一题不能用差分数组&#xff0c;因为 [1 , 4] [5, 6] 这个就会被合并&#xff0c;正确的做法就是先排序 bool cmp(vector<int> a, vector<int> b) {if (a[0] < b[0]) return 1;if (a[0] b[0]) return a[1] < b[1];return 0; } class Solution { public:ve…...

docker和运维

创建服务 docker service create --name order --network my-net -p 8080:8080 -d xxx 加入swarm集群 docker swarm join --token xxx 更新结点名字为mysql docker node update --label-add servermysql ecs-82ec-0003 创建MySQL服务 docker service create --name mysql --con…...

苍穹外面day13(day10)---订单状态定时处理、来单提醒和客户催单

Spring Task 同学们可以看我这篇文章 Spring Task初学-CSDN博客 订单状态定时处理 新建OrderTask /*** 定时任务类&#xff0c;定时处理订单状态*/ Component Slf4j public class OrderTask {Autowiredprivate OrderMapper orderMapper;/*** 处理超时订单的方法*/Scheduled(c…...

RCE和php文件上传

一、远程命令执行&#xff08;RCE&#xff09; RCE漏洞概述 RCE漏洞允许攻击者通过某种方式在目标服务器上执行任意命令。这种漏洞通常出现在服务器端语言中&#xff0c;如PHP。 RCE漏洞原理 PHP中的一些函数可以执行命令或代码&#xff0c;但如果对这些函数的输入未加限制&a…...