- 博客(70)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 蓝桥杯门牌制作
小蓝制作门牌的方法是先制作 00 到 99 这几个数字字符,最后根据需要将字符粘贴到门牌上,例如门牌 1017 需要依次粘贴字符 1、0、1、71、0、1、7,即需要 11 个字符 00,22 个字符 11,11 个字符 77。要注意的是2取余的时候还是等于2,所以判断i==2 这个条件时要加continue,方便直接跳过接下来的循环。请问要制作所有的 11 到 20202020 号门牌,总共需要多少个字符 22?题解:直接将各个数字与二比较就好,若是相等,计数器就加1。小蓝要为一条街的住户制作门牌号。
2023-02-24 15:07:00
51
原创 计算机组成原理实验-logisim实现自动售糖机
三.具体设计状态转换图:状态转换表:当前状态输入下一状态S¥10¥5S*S000S0S001S1S010S2S100S1S101S2S110S3S200S2S201S3S210S4S300S0S301S1S310S2S400S1S401S2S410S3状态二进制编码方式S0000S1001S2010S3011S4100。
2023-01-24 17:34:44
717
原创 计算机组成原理3个实验-logisim实现“七段数码管”、“有限状态机控制的8*8位乘法器”、“单周期MIPS CPU设计”。
首先由于整个控制器是需要op以及func作为控制信号的指导,所以需要两个输入引脚将这两个信号输入,对于非R类型的指令而言,只需比较他的op是多少就那么这条指令就成立,比如lw的op指令是23(16进制),用一个比较器比较就可以得出。而对于R类型的指令,由于R类型的数据的op都是000000,那么接下来就要看它的function,只需比较function就可以得出他们这几条指令,如图:封装如下:寄存器文件RegFile设计:ALU设计:总设计:2023/1/24。
2023-01-24 17:00:45
6118
1
原创 C语言数据结构-队列的链式存储
/只能在一端插入,一端删除 ,先进先出,后进后出。//队列(Queue)是具有一定操作约束的线性表。//队列的链式存储用一个单链表实现。
2022-11-15 17:02:06
289
原创 C语言数据结构-队列顺序存储法
我们采用循环队列 ,这种队列对于n个元素的数组,只用了n-1个位置 ,并且规定front与rear相等时,队列空,且 rear不能加到front那个位置,所以少用了一个元素。,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。//刚开始时,当队列空时,front和rear都为-1,当新增一个结点时,rear加1,front不变;当删除一个结点时,front加1,rear不变。//rear指向队列的最末尾元素。
2022-11-14 22:36:51
345
原创 C语言数据结构-堆栈链式存储
为了方便记录,设立了一个空结点,该结点不存储值,它的Next才是栈顶。栈的链式存储结构实际上就是一个单链表,叫做链栈。
2022-11-14 15:09:31
259
原创 C语言数据结构二叉搜索树
类似于二分查找,只要我们先将元素按从大到小或从小到大的顺序进行排列,那么我们在查找起来的时候就会很方便,二叉搜索树的存在也是为了快速找到某个元素。二叉搜索树也叫二叉排列树或二叉查找树,为了快速找到某个结点而设立的 ,类似二分查找。这里记录二叉搜索树 建立(可以理解为插入),查找和删除。,它是一棵二叉树,可以为空,如果不为空,要满足以下性质。//1.非空左子树的所有键值小于其根节点的键值。//2.非空右子树的所有键值大于其根节点的键值。//3.左,右子树都是二叉搜索树。
2022-11-13 18:18:42
212
原创 c语言数据结构之线性表链式存储
/插入,删除不需要移动数据元素,只需改变改变链。//不要求逻辑上相邻的元素物理上也相邻。以下是代码,代码里有详细注释哦。
2022-10-28 17:02:52
169
原创 c语言数据结构之线性表及顺序存储
/表中元素个数称为线性表的长度,线性表没有元素时,称为空表,表起始位置称表头,表结束位置称表尾。//“线性表(Linear List)”:由同类型数据元素构成有序序列的线性结构。//顺序存储,即利用数组的连续存储空间顺序存放线性表的各个元素。1.首先建立结构体来存储数据与下标。3.接下来就是查找插入与删除。
2022-10-28 00:40:43
662
原创 蓝桥杯矩阵切割
思路:采用循环来解决问题,比较长和宽的大小,如果两个长度不相等,并且长不等于宽的两倍,宽也不等于长的两倍,那么就用这两个长和宽相减(大减小),得到一个正方形,然后继续这样的思路,只要他们不相等也不等于两倍就继续减,就可以继续得到一个正方形,最后如果他们等于两倍了,那么就可以一分为二直接得到两个正方形,循环结束。3×3、2×2、1×1、1×1 共 4个正方形。当他面对一块矩形材料时,他总是从中间切割一刀,切出一块最大的正方 形,剩下一块矩形,然后再切割剩下的矩形材料,直到全部切为正方形为止。
2022-10-20 18:10:35
130
原创 Go语言结构体
1. 结构体是类型中带有不同成员的复合类型。 Go 语言使用结构体和结构体成员来描述真实世界的实体和实体对应的各种属性。 Go 语言中的类型可以被实例化,使用 new 或 & 构造的类型实例的类型是类型的指针。 结构体成员是由一系列的成员变量构成,这些成员变量也被称为“字段”。 字段有以下特性: 字段拥有自己的类型和值。 字段名必须唯一。 字段的类型也可以是结构体,甚至是字段所在结构体的类型2.使用type和struct关键字来定义结构体,代码格式如下: type 类型名 str
2022-05-13 16:12:14
287
原创 Go语言type自定义类型哦
下面将介绍1.如何自定义类型 2.自定义类型与类型别名的区别,共勉1.如何自定义类型//自定义类型是定义了一个全新的类型,可以基于内置的基本类型定义,也可以通过struct定义//如以下代码,将Myint定义成int类型,可以像int那样用,虽然用法和int一样,但Myint已经成为了一种全新类型type Myint int //一种新类型诞生func main() { var lbd Myint = 5 fmt.Printf("%T,%d\n", lbd, lbd) ..
2022-05-13 11:40:35
231
原创 Go语言new和make函数----分配内存
//Go语言中对于引用类型的变量,仅仅声明它是不够的,还要为它分配内存。//如var a *int ,*a=100,像这样写运行时是会报错的,因为只是声明a指针,但没有分配内存,不可以赋值。//Go语言中用new和make两个内置函数(不用声明)来实现分配内存。new函数长这样:func new(type) *type{}, type表示类型(int之类的),new函数只接受一个参数,并返回一个指针。package mainimport "fmt"//Go语言中对...
2022-05-12 17:57:25
561
原创 Go语言指针
1.区别于C语言中的指针,Go语言中的指针不能进行偏移与运算,是安全指针2.Go语言中的函数传参都是值拷贝,因此我们可以通过指针来修改值package mainimport "fmt"//区别于C语言中的指针,Go语言中的指针不能进行偏移与运算,是安全指针//Go语言中的函数传参都是值拷贝,因此我们可以通过指针来修改值func lbd1(x int) { x = 100}func lbd2(x *int) { *x = 100}func main() { a..
2022-05-12 17:52:27
231
1
原创 Go语言闭包
1.Go语言闭包 :在 Go 语言 中闭包是引用了 自由变量 的函数,被引用的自由变量和函数一同存在,即使已经离开了自由变量(例如局部变量)的环境也不会被释放或者删除,在闭包中可以继续使用这个自由变量。2.闭包它引用了函数体之外的变量。 这个函数可以对这个引用的变量进行访问和赋值;换句话说这个函数被“绑定”在这个变量上3.闭包常与匿名变量一起使用,关于匿名变量(基础知识必修)若是不懂,可以看我博客文章package mainimport ( "fmt" "strings")//闭
2022-05-09 15:33:30
394
1
原创 Go语言匿名函数
匿名函数就是没有函数名的函数,它的写法和普通函数只缺了一个函数名而已,但由于没有函数名,函数调用和普通函数却有所区别,直接上代码package mainimport "fmt"//匿名函数就是没有函数名的函数func main() { //1.定义如下 // func(){ // fmt.Println("匿名函数") // } //2.匿名函数的使用,由于没有函数名,所以用法有些特别,有两种 //第一种函数赋值给变量,变量有名字,让变量来用 function1 := f
2022-05-09 15:16:47
169
原创 Go语言函数作为 值 赋值给一个变量 和 函数作为参数传入另一个函数的写法你不想了解咩
1.在Go语言中,函数也是可以作为值赋值给另一个变量的,代码如下:package mainimport "fmt"func function1() { fmt.Println("lbd good")}func function3(a int, b int) (int, int) { sum := a + b minus := a - b return sum, minus}func main() { //1,其实函数也可以作为变量 function1() abc :=
2022-05-08 11:30:22
816
1
原创 go语言中defer关键字(延迟调用)用法你会吗
一.defer关键字介绍:Go语言中的defer语句会将其后面跟随的语句进行延迟处理,在defer归属的函数(如main函数)即将返回时(即函数快结束),将延迟处理的语句按defer定义的逆序进行执行,也就是说,先被defer的语句最后被执行,最后被defer的语句最先执行看代码如下呢:package mainimport "fmt"// Go语言中的defer语句会将其后面跟随的语句进行延迟处理// 在defer归属的函数(如main函数)即将返回时(即函数快结束),将延迟处理的语
2022-05-08 11:17:04
328
原创 java继承
以下内容是帮你梳理继承究竟是什么,耐心观看哦,一定会茅塞顿开的, 就算是老手也会有更深的体悟呢,代码也在下面,加油!!一.面向对象程序设计语言有三大特性:封装、继承和多态性。继承是面向对象语言的重要特征之一,没有继承的语言只能被称作“使用对象的语言”。继承是非常简单而强大的设计思想,它提供了我们代码重用和程序组织的有力工具。类是规则,用来制造对象的规则。我们不断地定义类,用定义的类制造一些对象。类定义了对象的属性和行为,就像图纸决定了房子要盖成什么样子。一张图纸可以盖很多房子,它们都
2022-05-07 20:15:59
86
2
原创 go语言之函数接收可变实参数(即实参个数是可变的),你会写吗
//函数是组织好的,可重复使用的,用来执行特定功能的代码块//格式如下:func 函数名(形参)(返回值){ 函数体}//函数名可由字母,数字,下划线组成,但开头不能是数字//go语言函数若是没有返回值,可以省略不写,go语言函数允许返回多个值,与c语言不同//go语言不支持默认形参package mainimport "fmt"//4.函数接收可变参数(即实参个数是可变的),在形参名后面加...表示可变参数//可变参数在函数体内其实是切片func function...
2022-05-06 18:13:54
712
原创 go语言函数定义及使用你真的会了吗
函数是什么?函数是组织好的,可重复使用的,用来执行特定功能的代码块//格式如下:func 函数名(形参)(返回值){ 函数体}//函数名可由字母,数字,下划线组成,但开头不能是数字//go语言函数若是没有返回值,可以省略不写,且go语言函数允许返回多个值,与c语言不同//go语言不支持默认形参package mainimport "fmt"//函数是组织好的,可重复使用的,用来执行特定功能的代码块//格式如下://func 函数名(形参)(返回值){// 函数体/...
2022-05-06 18:08:40
763
原创 go语言中元素类型为map的切片和元素类型为切片的map
使用 元素类型为map的切片和元素类型为切片的map最需要注意的一点是初始化,例如就像如下代码:var a = make([]map[string]int, 8, 8) //完成了对切片的初始化,但map还没有初始化只是完成了对切片的初始化,但map还没有初始化,这样的话map在内存中是不存在的,那就没法用,就需要想办法对,map进行初始化,以下是代码哦package mainimport "fmt"func main() { //元素类型为map的切片 var a = .
2022-05-05 21:34:08
236
原创 go语言之map定义,初始化,遍历,删除,判断某键是否存在,你都会了吗
map结构在go语言中是一种特殊的容器,map[keytype] valuetype,keytype是键的类型,valuetype是键对应值的类型,即每一个键都有一个对应的值,来看看吧,注释写的很详细哦,会有收获呢package mainimport "fmt"//map[keytype]valuetype,keytype是键的类型,valuetype是键对应值的类型func main() { //1.光声明map类型没有初始化,a值就是nil var a map[string]i.
2022-05-05 21:28:18
1053
原创 GO语言变量声明的4种方法你都会吗,进来看看
//1.GO语言的变量声明与java有所不同,变量名放前面,数据类型放后面,不用加分号//2.GO语言的变量必须声明后才能使用,用var关键字声明(variable),不支持在同一作用域重复声明//3.非全局变量一旦声明就必须使用,仅仅赋值是编译不过去的,而全局变量可以不使用下面是总代码及其运行结果哦·package mainimport "fmt"//GO语言的变量声明与java有所不同,变量名放前面,数据类型居然放后面,不用加分号//GO语言的变量必须声明后才能使用,
2022-05-04 17:28:39
1224
3
原创 c语言链表
1.链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域2.使用链表结构可以克服数组链表需要预先知道数据大小的缺点,链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。但是链表失去了数组随机读取的优点,同时链表由于增加了结点的指针域,空间开销比较大。3.链表允许插入和移除表上任意位置上的节点,但是不允许随机存取#include <stdio.h>#include .
2022-05-04 17:06:14
1074
1
怎么用c语言编写这个题呀
2021-10-01
TA创建的收藏夹 TA关注的收藏夹
TA关注的人