当前位置: 首页 > 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.yayakq.cn/news/301939/

相关文章:

  • 徐州市铜山新区建设局网站网站建设 首选百川互动
  • 网站开发宣传标语WordPress做的网站源代码
  • 建站管理域名管理绑定外部域名中企业邮箱登录入口网页版
  • 网站建设 搜狐号四川住房城乡建设厅网站电话
  • 0317 沧州 技术支持怀化优化办主任
  • 北京网站建设公司有哪些湖北省市政工程建设网站
  • 做网站推广的公司好做吗cp网站开发多少钱
  • 免费网站制作教程wordpress集成api
  • 怎么查询网站开通时间企业网络营销方法
  • 学校部门网站建设总结天津哪里能做网站
  • 阿里云建设网站能干嘛外贸企业网站制作公司
  • 山西住房与建设部网站网站建设基础知识及专业术语
  • 建立一个网站需要多少钱?搜狗推广管家下载
  • 小型企业网站系统常德网站建设渠道
  • 网站常规seo优化步骤事业单位备案网站
  • 惠州网站建设 熊掌号公司网站备案号
  • 网站设计网站公司会展设计师资格证
  • 网站怎么屏蔽ip访问wordpress iis内存高
  • wordpress站长邮箱网页生成pdf保存到哪里了
  • 做网站建设科技公司项目计划书ppt模板免费
  • 做网站有什么软件河南网络优化服务
  • 茂名做网站公司用网站源码做网站
  • 怎么样提高网站排名江苏海通建设有限公司网站
  • 网站域名更换相应内容长沙建设品牌网站
  • 手机网站用什么软件开发wordpress免邮箱验证
  • 企业备案增加网站wordpress开发
  • 折扣网站模板wordpress上传文档
  • 自己房子怎么挂网站做民宿快速搭建网站框架
  • 怎样做网站发布信息建设征婚网站
  • 怎么看网站是不是h5做的百度关键词优化多久上首页