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

只做一页的网站多少钱2345浏览器主页网址

只做一页的网站多少钱,2345浏览器主页网址,门户网站建设案例,经典网站欣赏、目录 第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 的值。

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

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

http://www.hengruixuexiao.com/news/10506.html

相关文章:

  • wordpress 主题打包优化公司治理结构
  • 两个网站 一个域名自媒体培训学校
  • 建设局是个好单位吗seo查询排名系统
  • 安卓app开发技术湖南网站seo推广
  • HTML5怎么做自适应网站青岛seo排名收费
  • 徐州市建设局交易网站搭建网站需要什么技术
  • 网站建设是否属于技术合同怎么制作一个网页
  • 百度权重查询入口西安seo高手
  • 猪八戒网怎么做网站百度信息
  • 建设京东商城网站湘潭网站设计外包公司
  • 金融网站建设seo优化自动点击软件
  • 网站建设服务电话seo网站介绍
  • 张家界互联网公司有哪几家太原seo外包服务
  • 网站解析 cname济南seo排名搜索
  • 巫溪集团网站建设成都seo排名
  • 浙江省网站重点学科建设成免费crm软件有哪些优点
  • 诺基亚官方网站市场营销公司
  • 成都建站seo常见的网络营销工具
  • 徐汇做网站公司苏州seo关键词排名
  • 二级域名网站怎么建设最近一周的新闻
  • 嘉兴企业网站排名优化百度怎么优化网站关键词
  • 一元云购 网站开发sem与seo的区别
  • seo网站快速排名外包企业网站营销的优缺点及案例
  • 哪有做外单的图片素材网站seo是做什么工作的
  • 高端网站建设哪些好开发一个网站的步骤流程
  • 做网站做软件怎么赚钱域名访问网站入口
  • 新遵义seo技术最新黑帽
  • 电商网站后台功能全球疫情最新数据统计
  • 怎样建立自己网站视频网站三只松鼠网络营销策划书
  • 梧州网站建设湖南产品网络推广业务