操作数

数据结构与算法——编程作业——第三章 栈与队列

有些话、适合烂在心里 提交于 2019-11-30 13:00:44
1:中缀表达式的值 总时间限制: 200ms 内存限制: 1024kB 描述 人们熟悉的四则运算表达式称为中缀表达式,例如(23+34*45/(5+6+7))。在程序设计语言中,可以利用堆栈的方法把中缀表达式转换成保值的后缀表达式(又称逆波兰表示法),并最终变为计算机可以直接执行的指令,得到表达式的值。 给定一个中缀表达式,编写程序,利用堆栈的方法,计算表达式的值。 输入 第一行为测试数据的组数N 接下来的N行,每行是一个中缀表达式。表达式中只含数字、四则运算符和圆括号,操作数都是正整数,数和运算符、括号之间没有空格。中缀表达式的字符串长度不超过600。 输出 对每一组测试数据输出一行,为表达式的值 样例输入 3 3+5*8 (3+5)*8 (23+34*45/(5+6+7)) 样例输出 43 64 108 提示 注意:运算过程均为整数运算(除法运算'/'即按照C++定义的int除以int的结果,测试数据不会出现除数为0的情况),输出结果也为整数(可能为负)。 中间计算结果可能为负。 这题有点儿变态qaq 解题思路是:中缀表达式-->后缀表达式-->计算后缀表达式 step 1: 中缀表达式-->后缀表达式 中缀表达式a + b*c + (d * e + f) * g,其转换成后缀表达式则为a b c * + d e * f + g * +。 转换过程需要用到栈,具体过程如下: 1

类型

浪尽此生 提交于 2019-11-30 12:51:46
基本类型:Undefined、Null、Boolean、String、Number、Symbol 引用类型:Object # 1. 基本类型和引用类型的区别 上面这张图片很好的解释了值传递和引用传递的区别。 # 1.1 不可变性 基本类型,在 ECMAScript 标准中,它们被定义为 primitive values ,即原始值,代表值本身是不可被改变的。 基本类型的值被直接存储在栈中,在变量定义时,栈就为其分配好了内存空间。由于栈中的内存空间的大小是固定的,那么注定了存储在栈中的变量就是不可变的。 以字符串为例,我们在调用操作字符串的方法时,没有任何方法是可以直接改变字符串的。对其修改也只是修改变量指向的值,而值的本身是不课改变的。 let str = 'str' str += '1' console.log(str); // str1 在上面的代码 str 是变量名, 'str' 则是一个 String 类型的值,通过 += 这个操作符会将一个新的 String 类型的值 'str1' 赋值给 str 这个变量。值本身是没有改变的。 引用类型的值实际存储在堆内存中,它在栈中只存储了一个固定长度的地址,这个地址指向堆内存中的值。因此引用类型的值是可以修改的。 # 1.2 复制 基本类型在复制的时候,会在栈中开辟一个新的内存空间来存储复制出来的值

2019-05-16-日常零碎知识点

喜夏-厌秋 提交于 2019-11-30 12:19:57
版权声明:本文为 Jiawei Xu 于2019年5月16日所写,未经允许不得转载。 Linux网络编程 socketaddr socktaddr_in socketaddr_un UNIX Domain Socket,虽然网络socket也可以用于同一台主机的进程间通讯(通过loopback地址127.0.0.1),但是UNIX Domain Socket用于IPC更有效率:不需要经过网络协议栈,不需要打包拆包、计算校验和、维护序号和应答,只是将应用层数据从一个进程拷贝到另一个进程。这是因为,IPC机制本质上是可靠的通讯,而网络协议是为不可靠的通讯设计的。Unix Domain Socket也提供面向流和面向数据包两种API接口,类似于TCP和UDP,但是面向消息的UNIX Domain Socket也是可靠的,消息既不会丢失也不会顺序错乱。X Window服务器和GUI程序之间就是通过UNIX Domain Socket通讯的。 使用UNIX Domain Socket的过程和网络socket十分相似,也要先调用socket()创建一个socket文件描述符,address family指定为AF_UNIX,type可以选择SOCK_DGRAM或SOCK_STREAM,protocol参数仍然指定为0即可。 UNIX Domain

指向成员的指针运算符:. *和- >*

◇◆丶佛笑我妖孽 提交于 2019-11-30 07:09:33
指向成员的指针运算符:. *和- >* ----来自微软technet Visual Studio 2012 expression .* expression expression –>* expression 备注 指向成员的指针运算符,。* 和 – AMP_GT*,返回特定的类成员的值在表达式的左侧指定对象的。 右侧必须指定类的成员。 下面的示例演示如何使用这些运算符: // expre_Expressions_with_Pointer_Member_Operators.cpp // compile with: /EHsc #include <iostream> using namespace std; class Testpm { public: void m_func1() { cout << "m_func1\n"; } int m_num; }; // Define derived types pmfn and pmd. // These types are pointers to members m_func1() and // m_num, respectively. void (Testpm::*pmfn)() = &Testpm::m_func1; int Testpm::*pmd = &Testpm::m_num; int main() { Testpm

熟悉使用工具

情到浓时终转凉″ 提交于 2019-11-30 05:52:52
---恢复内容开始--- 熟悉使用工具心得 git地址: https://github.com/wxllovezn/AchaoCalculator.git git用户名: wxllovezn 学号后五位: 61423 博客地址: https://www.cnblogs.com/wxllovezn/ 作业连接 https://www.cnblogs.com/harry240/p/11515697.html 1.githup 我自己原先就安装好了VS和githup,使用方法只是一直在使用VS编程,而没有使用githup管理源代码。 在老师公布作业后我自己尝试了使用git我想说的是githup是真的难用无法理解没有办法很熟练的使用githup; 在刚开始使用时需要仔细阅读助教所发教程严格按照步骤进行安装使用githup;其中最难解决的问题是如何将助教所发的githup库克隆到自己的githup中;我开始克隆错误了,始终不知道错在哪儿,直到我室友提醒我一直没有克隆到我自己的库,最后在指点下完成了 *** 代码设计我只设计了两个操作数的程序,三位操作数就是先两位操作数做运算再与第三位做运算。 #include <iostream> #include<stdlib.h> using namespace std; #define random(a,b) (rand()%(b-a+1)+a)

大话设计模式读书笔记系列目录

Deadly 提交于 2019-11-30 04:22:24
>>> 大话设计模式读书笔记系列目录 >>> 工厂方法 定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 场景: 通过计算器(加减乘除)来讲解工厂方式 计算器运算抽象类 /** * 计算器运算抽象类 */ public abstract class Operation { /** * 操作数A */ private double numberA; /** * 操作数B */ private double numberB; /** * 抽象方法 * 获得操作结果 * * @return */ public abstract double getResult(); /** * 获取 操作数A * * @return numberA 操作数A */ public double getNumberA() { return this.numberA; } /** * 设置 操作数A * * @param numberA 操作数A */ public void setNumberA(double numberA) { this.numberA = numberA; } /** * 获取 操作数B * * @return numberB 操作数B */ public double getNumberB() { return this.numberB;

Java——基本程序设计结构

陌路散爱 提交于 2019-11-30 02:33:42
一、最简单的Java应用程序 /** * This is a very easy program * @version 22:15 2019-03-21 * @auther 云烟成雨yycy */ public class First{ public static void main(String[] args){ System.out.println("I won't use \"Hello World!\""); } } 测试结果: I won't use "Hello World!" 程序解析 Java区分大小写 关键字 public 称为访问修饰符,用于控制程序其他部分对这段代码的访问级别 关键字 class 表明Java程序中的全部内容都包含在类中 First 是类名,类是构建所有Java应用程序和applet的构建块,类名必须以字母开头,后面可以跟字母和数字的任意组合 main 方法必须声明为 public 源代码的文件名必须与公共类的名字相同,并用 .java 作为扩展名 该程序 main 方法中只包含一条语句,其功能是:将一个文本行输出到控制台上,通过使用 System.out 对象并调用其 println 方法实现(注意,点号(.)用于调用方法) System.out 还有一个 print 方法,它在输出之后不换行 如果已经正确地命名了该文件

Java操作栈-表达式求值

↘锁芯ラ 提交于 2019-11-30 01:13:23
package stack.demo; import java.io.IOException; import java.util.Scanner; import java.util.Stack; /** * 表达式求值 算符优先法 * 3*(5-2)# #在这里表示结尾 * * 思路: * 使用两个栈,分别是操作数栈 存储数字 和操作符栈 存储运算符 * 读入表达式时 * 如果是操作数 则入操作数栈 * 如果是运算符 则入操作符栈 * 当运算符入栈时,和操作符栈栈顶元素比较优先级 * 如果优先级比栈顶元素高,则入栈,并接收下一个字符 * 如果和栈顶元素相同,则脱括号 并接收下一个字符 ( 因为相同只有( )括号) * 如果小于栈顶元素优先级,则操作数出栈,操作符出栈 并计算运算结果再入栈 * * 关键点:循环的退出条件 直到运算全部结束,即当前栈顶元素和读入的操作符均为# * * 例子: * 3*(5-2)# * * 算符优先级: * + -按顺序先后,先来优先级大于后来的,即从左到右依次计算 * * / 优先级大于+ - , 与* /比较则 先来的优先级大于后来的 * + - * / 优先级均大于( 小于) */ public class Main { private static Stack<Character> stackOPR = new Stack<>(); //操作符栈

自动生成四则运算-张九川

前提是你 提交于 2019-11-29 22:25:09
一、需求分析 家长和老师为了让孩子在寒暑假做一些练习题,增强孩子的计算能力。同时在课堂上也减轻老师的教学负担,所以开发此套小学生出题程序。 二、功能设计 1、基本功能: (1)自动生成10道100以内的2个操作数的四则运算算式 (2)(+ - */)符号可随机生成 (3)运算结果也在100以内 2、扩展功能 (1)可以自动剔除重复算式 (2)出题题目数量可根据用户情况定制 (3)可以选择是否包含乘法和除法 (4)操作数数值范围可控性(如操作数 在100以内,还是1000以内) (5)用户选择是否允许出现负数 (6)可以选择生成的运算题存储到电脑中 三、设计实现 1、语言以及版本 (1)java语言,版本jdk1.8.0 2、开发工具 (1)eclipse 3、使用的类及作用 (1)Scanner类:用于用户输入输出(2)Random类:用于随机生成数(3)FileWriter类:用于存储文件 四、测试运行 六、PSP PSP 预估时间 实际时间 计划 1 2 需求分析 12 12 生成设计文档 22 22 代码规范 36 36 具体设计 34 55 具体编码 23 33 代码复审 1 2 测试 1 2 总结 1 1 总共花费时间 126 128 来源: https://www.cnblogs.com/zhangjiuchuan/p/11537855.html

20194723 自动生成四则运算题第一版报告

↘锁芯ラ 提交于 2019-11-29 22:00:40
一,需求分析 实现校学生四则运算 二,设计需求 1.自动生成10道100以内的2个操作数的四则运算算式(+ - * /),要求运算结果也在100以内 2.剔除重复算式。 2 + 3 = 和 2 + 3 = 是重复算式 2 + 3 = 和 3 + 2 = 不属于重复算式 3.题目数量可定制 4.相关参数可控制 是否包含乘法和除法 操作数数值范围可控(如操作数 在100以内 还是1000以内) 操作数是否含负数     5.生成的运算题存储到外部文件result.txt中 三,设计运行 通过c预言实现,用了一些简单的switch语句和for循环 四,测试运行 运行测试结果 设计switch语句 输出语句 五,PSP 来源: https://www.cnblogs.com/mht191010/p/11536539.html