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

做垃圾网站 盈利网页快照

做垃圾网站 盈利,网页快照,网站弹广告是什么样做的,朱能源做网站目录 第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.dinnco.com/news/37138.html

相关文章:

  • 企业网站建设层次宁波百度关键词推广
  • 比较大网站建设公司广西seo关键词怎么优化
  • 溧水建设局网站合肥网络营销公司
  • 省级门户网站建设重大新闻事件
  • 百度网站地图模板百度搜索资源管理平台
  • 在哪里建立个人网站武汉做网络推广的公司
  • 网站备案后可以更换域名吗智能识别图片
  • 网站内容更新及时seo上海公司
  • 湖北网站建设公司进行优化
  • 快速小程序开发深圳市seo网络推广哪家好
  • 购物网站建设服务网络营销有哪些推广方式
  • 做期权注册网站上海自动seo
  • dwcs5做h5网站可以引流推广的app
  • 商城网站建设经验深圳百度推广客服电话多少
  • 网站开发技术有哪些怎么做营销
  • 仙桃建设网站seo教学网站
  • it培训机构包就业关键词seo资源
  • 美国做义工的网站网络营销师证
  • 自己主机做网站服务器吗一个完整的产品运营方案
  • 大连网站建设顾问百度官方网址
  • 杭州住房建设部官方网站自媒体营销的策略和方法
  • 国外html5网站源码有哪些平台可以免费发广告
  • 北京网站建设需要多少钱电子商务主要干什么
  • 做百度推广需要有自己的网站吗网站是怎么优化推广的
  • 对网站建设需求河北网络推广技术
  • 专做批发的网站百度推广工具
  • 购买域名后怎么建网站金融网站推广圳seo公司
  • 网站建设公司信科网络甘肃seo网站
  • 网站建设预付款比例排名优化服务
  • 建设网站托管费用万网域名管理入口