自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

[]

  • 博客(114)
  • 收藏
  • 关注

原创 【运算符重载】第1关:实现 Complex 的第二个版本

实现 Complex 的的二个版本 —— 重载四则混合运算。

2024-05-26 20:06:39 501

原创 【运算符重载】 第2关:重载流运算符:实现 Complex 的第三个版本

通过重载流运算符,使 Complex 类支持标准输入输出。本关需要在上一关的基础上实现 Complex 类对标准输出流操作的支持。

2024-05-26 20:05:59 541 1

原创 【运算符重载】第3关:重载下标运算符:实现 DynArray 的第二个版本

重载 DynArray 类的下标运算符,使得其可以像数组一样使用。

2024-05-26 20:05:19 593

原创 【运算符重载】第4关:运算符重载实现类型转换

实现从Circle对象到double数据的转换则需要通过类型转换运算符来实现,该函数名为operator double,自定义的类型转换函数甚至可以被编译器的提升规则使用,例如程序中计算Circle类型的对象x和2相加,由于类Circle没有重载运算符+,编译器会自动调用其类型转换函数,将x转换为double类型,然后完成和2相加的运算。类型转换的本质是生成,根据一种类型的数据对象生成另一种类型的对象。

2024-05-26 20:04:38 486

原创 【运算符重载】第5关:自定义类型之间的相互转换

本关任务:编写类型转换运算符函数,实现圆对象和正方形对象之间的互转。类型转换就是生成,生成的对象满足需求就行,即使有时候看起来不是那么合理。提示,在右侧编辑器补充代码,实现类Ciecle的operator Square()类型转换函数,该函数将圆对象转换成一个同等面积的正方形,实现类Square的operator Circle()类型转换函数,该函数将正方形对象转换成一个周长相同的圆。

2024-05-26 20:03:47 503

原创 【类和对象】第1关:Stack 类的第一个版本

实现堆栈类 Stack。

2024-05-16 11:54:11 403

原创 【类和对象】第2关:构造方法与析构方法:Stack 类的第二个版本

在上一关中,我们构造了 Stack 类的第一个版本。事实上,在上一关的实现中,Stack::init(unsigned int) 与 Stack::cleanup() 分别起到了初始化成员对象与销毁成员对象的作用。

2024-05-16 11:53:15 513

原创 【类和对象】第3关:Complex 类的第一个版本

实现复数类(Complex)的第一个版本,为后面的改进打下基础。

2024-05-16 11:52:11 401

原创 【类和对象】第4关:DynArray类的第一个版本

将链表封装为一个动态数组(DynArray)类。该类能够实现元素的访问、元素的动态插入、删除等功能。

2024-05-16 11:51:19 566

原创 【类和对象的创建和使用】第1关:设计一个学生信息类

【代码】【类和对象的创建和使用】第1关:设计一个学生信息类。

2024-05-16 11:50:00 492

原创 【类和对象的创建和使用】第2关:设计一个长方形类

【代码】【类和对象的创建和使用】第2关:设计一个长方形类。

2024-05-16 11:48:51 463

原创 【类和对象的创建和使用】第3关:设计汽车类

其中打开车门、关闭车门、打开车灯、关闭车灯四个函数,用于改变对象内部对应的成员变量的值。加速,减速两个函数,每次调用就将内部的速度变量分别对应增加10或者减少10。车门,车灯两个函数的初始状态都为 OFF,速度的初始值为0。设计一个汽车类,并实现它的基本功能。成员变量:车门,车灯,速度(类型以及变量名均自拟)。成员函数:打开车门、关闭车门、打开车灯、关闭车灯、加速、减速。根据输入的命令(命令由1-6表示,分别对应调用打开车门、关闭车门、打开车灯、关闭车灯、加速、减速函数)输出汽车的最终状态。

2024-05-16 11:47:26 308

原创 【线性表实训】第1关:顺序构建线性表

本关任务:按照数据输入的顺序构建一个线性表。即如果输入的3个结点数据分别为1、2、3,则构建的线性表包含3个结点,且从前往后的结点数据分别为1、2、3。

2024-05-15 08:53:13 641

原创 【线性表实训】第2关:逆序构建线性表

h可能为空,但是t是创建的元素,不会为空。所以代码能够处理h为空的corner case。本关任务:补全 insertHead 函数,实现将一个结点插入到一个链表头部的功能。

2024-05-15 08:52:31 183

原创 【线性表实训】第3关:排序构建线性表

本关任务:补全 insertSort 函数,实现将一个结点按结点数据 data 从小到大的顺序插入到一个有序链表中。根据插入结点 data 的大小,插入点可能是链表头、尾或者中间某个位置。

2024-05-15 08:50:36 461

原创 【线性表实训】第4关:查找元素

本关任务:补全 search 函数,实现在一个链表中搜索包含指定数据的结点。如果链表中有多个结点包含该数据,则返回第一个。

2024-05-15 08:49:53 444

原创 【线性表实训】第5关:删除指定位置的结点

本关任务:补全 delAt 函数,实现根据指定位置删除链表中对应的结点。

2024-05-15 08:48:41 595

原创 【线性表实训】第6关:删除包含特定数据的结点

删除链表的结点时,有时候不知道结点在哪,只知道结点数据的特征,如删除成绩低于60的学生结点、删除学号为20160903的学生等。本关任务:补全 delHas 函数,实现删除链表中包含特定数据的结点,如果有多个这样的结点,只删除第一个。

2024-05-15 08:47:58 516

原创 【线性表实训】第7关:线性表长度

本关任务:编写 listLength 函数来求线性表的长度。

2024-05-15 08:46:03 511

原创 【线性表实训】第8关:线性表应用一:栈

完成 empty 、pop 和 push 三个函数,以实现判断栈空、弹栈和压栈的功能。函数 pop 实现从栈 sk 中弹出栈顶元素,参数 sk,传引用,因为弹栈可能会改变 sk 的值,返回值为弹栈弹出的数据,如果栈空,则返回 -1;函数 push 实现压栈功能,将 n 压入栈 sk 中,参数 sk 为传引用,因为压栈可能会改变 sk 的值,由于栈使用链表实现,只要还有内存,压栈都会成功。共需要补全三个函数(也是栈的基本功能):判断栈空的 empty 函数、压栈的 push 函数和弹栈的 pop 函数。

2024-05-15 08:37:20 623

原创 【线性表实训】第9关:线性表应用二:队列

完成 queueEmpty 、enQueue 和 deQueue 三个函数,以分别判断队列是否为空、入列和出列的要求。具体要求如下:函数 queueEmpty 判断队列 iq 是否为空,为空则返回 true,否则返回 false;函数 deQueue 实现从队列 iq 出列,如果队列非空,则返回出列的数据,否则返回−1。共需要补全三个函数(也是队列的基本功能):判断队列空的 queueEmpty 函数、入列的 enQueue 函数和出列的 deQueue 函数。

2024-05-15 08:36:17 368

原创 【线性表实训】第10关:线性表应用三:集合

具体需要补全三个函数:计算集合并集的 unionSet 函数、计算集合交集的 intersection 函数和向集合中添加元素的 addElement 函数。函数 addElement 将元素 num 加入到集合 is 中,如果 is 中已经存在 num 了,则不需要加入,不存在则加入。在右侧编辑器中的Begin-End之间补充代码,完成 unionSet、intersection 、addElement 三个函数,以实现集合的三个功能。参数 a 和 b 是两个集合,返回值为 a 和 b 的交集。

2024-05-14 16:22:20 530

原创 【高阶应用】 第1关:合并链表

具体实现如下:从小到大依次输入两列整数,以-1表示结尾,然后根据这两列整数构造两个单向链表,按整数大大小关系把这两个链表合并成一个有序单向链表,最后从头到尾遍历输出这个链表的数据域(用一个空格隔开)。本关任务:编写程序,把两个有序排列的单向整数链表合并成一个有序排列的的整数链表。

2024-04-14 17:39:08 592

原创 【高阶应用】第2关:奥运会综合项目计分程序

第2行Alex:第1个项目第2名(7分),第2个项目第4名(4分),第3个项目第1名(10分),总分21;第3行Bolt:第1个项目第4名(4分),第2个项目第1名(10分),第3个项目第4名(4分),总分18;第4行Jack:第1个项目第1名(10分),第2个项目第2名(7分),第3个项目第2名(7分),总分24;第5行Will:第1个项目第3名(5分),第2个项目第3名(5分),第3个项目第3名(5分),总分15。第1行的3 4表示,该综合项目有3个子项目,有4个运动员参数;

2024-04-14 17:38:13 966

原创 【高阶应用】第3关:文件综合练习

【代码】【高阶应用】第3关:文件综合练习。

2024-04-14 17:36:47 852

原创 【结构】第1关:求连接两个点的线段的斜率

本关任务:编写程序,依次输入两个点的横纵坐标(设都是整数,并且两个点的横轴坐标不等),计算连接两个点的线段的斜率(浮点数),最后输出。

2024-04-14 17:34:52 434

原创 【结构】第2关:复数类型

一个复数由实部和虚部两部分(都是整数)构成,定义复数的结构类型。在主程序中定义四个复数变量c1、c2、c3和c4,输入c1和c2的复数值,定义函数sub和mul,分别实现c3=c1-c2和c4=c1*c2,最后输出c3和c4的值。

2024-04-14 17:34:17 680

原创 【结构】第3关:日期排序

本关任务:编写程序,定义一个结构date,包含年、月、日三个整型数据成员,使用结构date声明包含5个数组元素的结构数组,依次输入5个数组元素的值,按日期先后对数组进行排序,输出排序的结果。

2024-04-14 17:33:35 895

原创 【结构】第4关:歌曲名排序

本关任务:编写程序,然用户输入10首歌名,歌名存在一个字符指针数组,然后按字典序进行排序,最后依次输出这些歌名。注意:为了简化起见,输入的歌名只有一个单词,即歌名中不含空格。

2024-04-14 17:30:53 954

原创 【指针】第1关:指针声明和应用

本关任务:编写程序,声明一个double类型的变量d,声明一个int类型的指针ptr,并用ptr指向d。用户输入一个浮点数存入变量d,然后输出*ptr的值。

2024-04-09 15:40:07 587

原创 【指针】第2关:指针实现整数排序

本关任务:题目中已经定义3个整型变量及3个整型指针变量,完成程序功能,仅用指针方法读入三个整数,并实现按由小到大的顺序进行排序,最后输出排序结果。

2024-04-09 15:37:44 783

原创 【指针】第3关:实现自己的strcat函数

题目中已经给出main函数,main函数会调用mystrcat函数进行测试,会输入两个字符串A和Bmystrcat返回连接后的字符串,并且在A和B之间加上一个字符“-”。

2024-04-09 15:36:45 746 4

原创 【指针】第4关:字符串替换

该函数用s2替换str中的s1,函数返回替换后的字符串的指针。

2024-04-09 15:34:23 1258

原创 【指针】第5关:静态分配内存(习题6.5修改版)

本关任务:编写程序,定义一个可存放10个实数的一位数组来表示一个班某门课程的成绩,成绩由用户输入。然后根据输入的号码(1~10)输出对应学生的成绩,当输入号码不合法时,输出Error。

2024-04-09 10:49:13 705

原创 【指针】第6关:动态分配内存(习题7.10修改版)

本关任务:利用动态内存分配重新编写实训第5关(习题6.5修改版),要求能处理任意人数的成绩,总人数由用户输入,然后对应数量的成绩,最后根据根据输入的号码(注意最小号码是1)输出对应学生的成绩,当输入号码不合法时,输出Error。例如:输入人数10,再输入十个成绩78 86.5 65 99 91 77.5 56 72 84 88,再输入号码4,输出99。注意:记得释放动态分配的内存。

2024-04-09 10:48:31 818

原创 【指针】第7关:超长整数的加减运算

【代码】【指针】第7关:超长整数的加减运算。

2024-04-09 10:47:07 1012

原创 【字符串】第1关:恺撒加密第2步(小写转大写)

例如:明文是"Attack in the morning",转换后为"ATTACK IN THE MORNING"。本关任务:要求在题干所给代码框架的基础上,完成凯撒加密的第二个步骤,把明文中的小写字母转换成对应的大写字母。

2024-04-08 11:35:21 633 1

原创 【字符串】第2关:恺撒加密第3步(按密钥加密)

例如:明文是"ATTACK IN THE MORNING",密钥k为3,则密文是"DWWDFN LQ WKH PRUQLQJ"。

2024-04-08 11:34:00 615 1

原创 【字符串】第3关:统计字符个数

本关任务:编写程序,能够输入一行字符(长度不确定),统计其中的大写字母、小写字母和数字的个数。

2024-04-08 11:33:17 457

原创 【字符串】第4关:判断回文

不要只用一个下标,然后用len-1-i计算对称轴另一端下标,很麻烦。就是一个char类型的元素。char类型是一个有符号数,不能直接和。是汉字的第一个字符时,str[i]作为一个无符号数时才落在。这里直接把英文字符全部转换成小写了。函数直接获取字符串长度,需要包含。,但是这里有一个问题需要注意,强制转换成无符号char类型。不要再用下面的代码了。如何判断一个字符串是不是中文。是一个char类型的数组,

2024-04-08 11:32:14 708 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除