自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 C语言结束

寒假截至到现在,终于刷完了 浙大版《C语言程序设计(第3版)》题目集 116道题,好耶(虽然我本来是打算把实验的178道题也刷了的,但是鉴于鄙人很懒…)。做的过程中磕磕绊绊,跌跌撞撞,一二三三。感觉对下个学期学数据结构和算法打下了一点点,一滴滴,一啾啾基础,总不可能还是一点都看不懂吧…在这期间,我总算知道typedef是某人觉得写struct太难写了而发明出来省事儿的,总还算知道了字符串中输入gets和scanf的区别等等,收获还是有点哦。学c对我来说还是很重要的一门课,希望以后能在这条路上走得更远一

2021-02-18 15:15:03 230

原创 我的编程路

写这个博客是为了记录我的学习之路,虽然现在我对指针很头痛,慕课上看数据结构举步维艰,我想是因为自学这半年来对c还没有一个完全的认识。这半年来,我在mooc上学习c,是厦门大学开的《c语言程序设计》,里面的助教帮助过我很多次去答疑解惑。Matter-of-fact speaking,我没有很认真去学,玩了很久,现在基本了解了一些c。在这半年中,令我最印象深刻的事,莫过于我的dev-c++,突然因为版本兼容性问题用不了了,反复下载了很多次也没解决(我是真不知道怎么了,后来我发现好像重启一下电脑就可以了,当然

2021-02-02 20:09:31 265 2

原创 指针不规范,wntdll

记录一下,不好好使用指针的坏处void LinkQueue<ElemType>::pop(ElemType& e){ if (!Empty()&&front->next!=rear) { node<ElemType>* tem = front->next; e = tem->data; front->next = tem->next; delete tem; } else if (!Empty() &a

2021-10-19 10:39:27 102

原创 7-27 家谱处理 (30 分)

人类学研究对于家族很感兴趣,于是研究人员搜集了一些家族的家谱进行研究。实验中,使用计算机处理家谱。为了实现这个目的,研究人员将家谱转换为文本文件。下面为家谱文本文件的实例:John Robert Frank Andrew Nancy David家谱文本文件中,每一行包含一个人的名字。第一行中的名字是这个家族最早的祖先。家谱仅包含最早祖先的后代,而他们的丈夫或妻子不出现在家谱中。每个人的子女比父母多缩进2个空格。以上述家谱文本文件为例,John这个家族最早的祖先,他有两个

2021-10-09 16:52:45 1295

原创 7-35 城市间紧急救援 (25 分)

作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图。在地图上显示有多个分散的城市和一些连接城市的快速道路。每个城市的救援队数量和每一条连接两个城市的快速道路长度都标在地图上。当其他城市有紧急求助电话给你的时候,你的任务是带领你的救援队尽快赶往事发地,同时,一路上召集尽可能多的救援队。输入格式:输入第一行给出4个正整数N、M、S、D,其中N(2≤N≤500)是城市的个数,顺便假设城市的编号为0 ~ (N−1);M是快速道路的条数;S是出发地的城市编号;D是目的地的城市编号。第二行给出N个正整数,

2021-09-29 21:33:37 130

原创 7-15 QQ帐户的申请与登陆 (25 分)

实现QQ新帐户申请和老帐户登陆的简化版功能。最大挑战是:据说现在的QQ号码已经有10位数了。输入格式:输入首先给出一个正整数N(≤105),随后给出N行指令。每行指令的格式为:“命令符(空格)QQ号码(空格)密码”。其中命令符为“N”(代表New)时表示要新申请一个QQ号,后面是新帐户的号码和密码;命令符为“L”(代表Login)时表示是老帐户登陆,后面是登陆信息。QQ号码为一个不超过10位、但大于1000(据说QQ老总的号码是1001)的整数。密码为不小于6位、不超过16位、且不包含空格的字符串。

2021-09-26 10:51:42 125

原创 6-5 链式表操作集 (20 分)

本题要求实现链式表的操作集。函数接口定义:Position Find( List L, ElementType X );List Insert( List L, ElementType X, Position P );List Delete( List L, Position P );其中List结构定义如下:typedef struct LNode *PtrToLNode;struct LNode { ElementType Data; PtrToLNode Next;}

2021-09-25 15:14:58 154

原创 6-2 顺序表操作集 (20 分)

本题要求实现顺序表的操作集。函数接口定义:List MakeEmpty(); Position Find( List L, ElementType X );bool Insert( List L, ElementType X, Position P );bool Delete( List L, Position P );其中List结构定义如下:typedef int Position;typedef struct LNode *List;struct LNode { Eleme

2021-09-24 16:43:13 59

原创 7-14 电话聊天狂人 (25 分)

给定大量手机用户通话记录,找出其中通话次数最多的聊天狂人。输入格式:输入首先给出正整数N(≤105),为通话记录条数。随后N行,每行给出一条通话记录。简单起见,这里只列出拨出方和接收方的11位数字构成的手机号码,其中以空格分隔。输出格式:在一行中给出聊天狂人的手机号码及其通话次数,其间以空格分隔。如果这样的人不唯一,则输出狂人中最小的号码及其通话次数,并且附加给出并列狂人的人数。输入样例:413005711862 1358862583213505711862 130886258321

2021-09-20 16:25:09 135

原创 自制Base64编码解码器

做wireshark的http实验的时候,看到有个基于Base64编码的账号和密码,想到我啥都没做过,而且看着做这个不难,于是就自己用c++写了个简易版本。没有系统学过c++,导致我对两个string的连接很迷,本来后面想用c的char*,后来才发现是我在定义主string的给它赋予了容量和初值string code(n,0),我以为副string的连接是从主string的第一个即code[0]开始,但其实是从主string最后的一个字符即code.size()连,所以就导致,前面一大堆无用的空格,加深了

2021-09-09 13:48:07 1520

原创 wireshark-lab2-http

GET代表从浏览器向服务器发送请求,后面的HTTP就是回复,text/html代表回复文本的类型Is your browser running HTTP version 1.0, 1.1, or 2? What version of HTTP is the server running?1.1;1.1。What languages (if any) does your browser indicate that it can accept to the server?zh-CNWhat is

2021-09-07 14:24:46 339

原创 7-18 银行业务队列简单模拟 (25 分)(c++)

设某银行有A、B两个业务窗口,且处理业务的速度不一样,其中A窗口处理速度是B窗口的2倍 —— 即当A窗口每处理完2个顾客时,B窗口处理完1个顾客。给定到达银行的顾客序列,请按业务完成的顺序输出顾客序列。假定不考虑顾客先后到达的时间间隔,并且当不同窗口同时处理完2个顾客时,A窗口顾客优先输出。输入格式:输入为一行正整数,其中第1个数字N(≤1000)为顾客总数,后面跟着N位顾客的编号。编号为奇数的顾客需要到A窗口办理业务,为偶数的顾客则去B窗口。数字间以空格分隔。输出格式:按业务处理完成的顺序输出顾客

2021-07-09 10:52:37 181

原创 7-9 旅游规划 (25 分)

有了一张自驾旅游路线图,你会知道城市间的高速公路长度、以及该公路要收取的过路费。现在需要你写一个程序,帮助前来咨询的游客找一条出发地和目的地之间的最短路径。如果有若干条路径都是最短的,那么需要输出最便宜的一条路径。输入格式:输入说明:输入数据的第1行给出4个正整数N、M、S、D,其中N(2≤N≤500)是城市的个数,顺便假设城市的编号为0~(N−1);M是高速公路的条数;S是出发地的城市编号;D是目的地的城市编号。随后的M行中,每行给出一条高速公路的信息,分别是:城市1、城市2、高速公路长度、收费额,中

2021-06-28 15:13:55 112

原创 06-图1 列出连通集 (25 分)

给定一个有N个顶点和E条边的无向图,请用DFS和BFS分别列出其所有的连通集。假设顶点从0到N−1编号。进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点。输入格式:输入第1行给出2个整数N(0<N≤10)和E,分别是图的顶点数和边数。随后E行,每行给出一条边的两个端点。每行中的数字之间用1空格分隔。每行输出一个连通集。先输出DFS的结果,再输出BFS的结果。输入样例:8 60 70 12 04 12 43 5输出样例:{ 0 1 4 2 7 }{

2021-05-23 16:44:14 131

原创 06-图3 六度空间 (30 分)

“六度空间”理论又称作“六度分隔(Six Degrees of Separation)”理论。这个理论可以通俗地阐述为:“你和任何一个陌生人之间所间隔的人不会超过六个,也就是说,最多通过五个人你就能够认识任何一个陌生人。”“六度空间”理论虽然得到广泛的认同,并且正在得到越来越多的应用。但是数十年来,试图验证这个理论始终是许多社会学家努力追求的目标。然而由于历史的原因,这样的研究具有太大的局限性和困难。随着当代人的联络主要依赖于电话、短信、微信以及因特网上即时通信等工具,能够体现社交网络关系的一手数据已经逐

2021-04-17 15:45:45 64

原创 04-树6 Complete Binary Search Tree (30 分)

A Binary Search Tree (BST) is recursively defined as a binary tree which has the following properties:The left subtree of a node contains only nodes with keys less than the node’s key.The right subtree of a node contains only nodes with keys greater than

2021-04-15 13:07:38 123

原创 04-树5 Root of AVL Tree (25 分)

An AVL tree is a self-balancing binary search tree. In an AVL tree, the heights of the two child subtrees of any node differ by at most one; if at any time they differ by more than one, rebalancing is done to restore this property.Now given a sequence of

2021-04-09 18:10:36 61

原创 05-树7 堆中的路径 (25 分)

将一系列给定数字插入一个初始为空的小顶堆H[]。随后对任意给定的下标i,打印从H[i]到根结点的路径。输入格式:每组测试第1行包含2个正整数N和M(≤1000),分别是插入元素的个数、以及需要打印的路径条数。下一行给出区间[-10000, 10000]内的N个要被插入一个初始为空的小顶堆的整数。最后一行给出M个下标。输出格式:对输入中给出的每个下标i,在一行中输出从H[i]到根结点的路径上的数据。数字间以1个空格分隔,行末不得有多余空格。输入样例:5 346 23 26 24 105 4 3

2021-04-02 12:53:47 61

原创 03-树2 List Leaves (25 分)

Given a tree, you are supposed to list all the leaves in the order of top down, and left to right.Input Specification:Each input file contains one test case. For each case, the first line gives a positive integer N (≤10) which is the total number of node

2021-03-29 20:58:47 78 2

原创 02-线性结构4 Pop Sequence (25 分)

Given a stack which can keep M numbers at most. Push N numbers in the order of 1, 2, 3, …, N and pop randomly. You are supposed to tell if a given sequence of numbers is a possible pop sequence of the stack. For example, if M is 5 and N is 7, we can obtain

2021-03-21 15:28:21 58

原创 02-线性结构2 一元多项式的乘法与加法运算 (20 分)

设计函数分别求两个一元多项式的乘积与和。输入格式:输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。零多项式应输出0 0。输入样例:4 3 4 -5 2 6 1 -2 03 5 20 -7 4 3 1输出样例:15 24 -25 22 30 21 -10 20

2021-03-11 22:25:16 82

原创 实验10-1 圆形体体积计算器 (20 分)

本题要求实现一个常用圆形体体积的计算器。输入格式:在每次计算之前,要求输出如下界面:1-Ball2-Cylinder3-Coneother-ExitPlease enter your command:然后从标准输入读进一个整数指令。输出格式:如果读入的指令是1或2或3,则执行相应的体积计算;如果是其他整数,则程序结束运行。当输入为1时,在计算球体体积之前,打印Please enter the radius:,然后读入球体半径,完成计算;当输入为2时,在计算圆柱体体积之前,打印Ple

2021-03-07 22:42:28 822

原创 01-复杂度2 Maximum Subsequence Sum (25 分)

The Maximum Subsequence is the continuous subsequence which has the largest sum of its elements. For example, given sequence { -2, 11, -4, 13, -5, -2 }, its maximum subsequence is { 11, -4, 13 } with the largest sum being 20.Now you are supposed to find t

2021-03-05 16:40:49 93

原创 实验11-2-9 链表逆置 (20 分)

本题要求实现一个函数,将给定单向链表逆置,即表头置为表尾,表尾置为表头。链表结点定义如下:struct ListNode { int data; struct ListNode *next;};函数接口定义:struct ListNode *reverse( struct ListNode *head );其中head是用户传入的链表的头指针;函数reverse将链表head逆置,并返回结果链表的头指针。裁判测试程序样例:#include <stdio.h>#

2021-02-26 21:47:40 228

原创 实验11-2-3 逆序数据建立链表 (20 分)

本题要求实现一个函数,按输入数据的逆序建立一个链表。函数接口定义:struct ListNode *createlist();函数createlist利用scanf从输入中获取一系列正整数,当读到−1时表示输入结束。按输入数据的逆序建立一个链表,并返回链表头指针。链表节点结构定义如下:struct ListNode { int data; struct ListNode *next;};裁判测试程序样例:#include <stdio.h>#include &l

2021-02-26 20:44:01 129

原创 自测-4 Have Fun with Numbers (20 分)

Notice that the number 123456789 is a 9-digit number consisting exactly the numbers from 1 to 9, with no duplication. Double it we will obtain 246913578, which happens to be another 9-digit number consisting exactly the numbers from 1 to 9, only in a diffe

2021-02-24 15:58:29 82

原创 实验11-2-6 奇数值结点链表 (20 分)(二级指针的运用)

本题要求实现两个函数,分别将读入的数据存储为单链表、将链表中奇数值的结点重新组成一个新的链表。链表结点定义如下:struct ListNode { int data; ListNode *next;};函数接口定义:struct ListNode *readlist();struct ListNode *getodd( struct ListNode **L );函数readlist从标准输入读入一系列正整数,按照读入顺序建立单链表。当读到−1时表示输入结束,函数应返回指向单

2021-02-23 22:10:28 153

原创 实验11-2-5 链表拼接 (20 分)

本题要求实现一个合并两个有序链表的简单函数。链表结点定义如下:struct ListNode { int data; struct ListNode *next;};函数接口定义:struct ListNode *mergelists(struct ListNode *list1, struct ListNode *list2);其中list1和list2是用户传入的两个按data升序链接的链表的头指针;函数mergelists将两个链表合并成一个按data升序链接的链表,并返

2021-02-23 16:07:31 191

原创 实验11-2-8 单链表结点删除

本题要求实现两个函数,分别将读入的数据存储为单链表、将链表中所有存储了某给定值的结点删除。链表结点定义如下:struct ListNode { int data; ListNode *next;};函数接口定义:struct ListNode *readlist();struct ListNode *deletem( struct ListNode *L, int m );函数readlist从标准输入读入一系列正整数,按照读入顺序建立单链表。当读到−1时表示输入结束,函数应

2021-02-22 18:56:56 117

原创 实验8-1-6 函数实现字符串逆序 (15 分)

本题要求实现一个字符串逆序的简单函数。函数接口定义:void f( char *p );函数f对p指向的字符串进行逆序操作。要求函数f中不能定义任何数组,不能调用任何字符串处理函数。裁判测试程序样例:#include <stdio.h>#define MAXS 20void f( char *p );void ReadString( char *s ); /* 由裁判实现,略去不表 */int main(){ char s[MAXS]; ReadStri

2021-02-21 15:35:02 1018

原创 PTA自测-2 素数对猜想(20分)

“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。现给定任意正整数N(<100000),请计算不超过N的满足猜想的素数对的个数。输入格式:输入在一行给出正整数N。输出格式:在一行中输出不超过N的满足猜想的素数对的个数。输入样例:20输出样例:4这道题就要注重运行时间问题了,下为我写的,最关键的就是中间注释那一句。(其实是搜到的方法…自己写的那个最大N会超时…)#include<stdio.h>#include<math.h>int main(

2021-02-19 12:01:26 160 1

原创 PTA自测-1 打印沙漏(20分)

本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印***** *** * ********所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。输入格式:输入在一行给出1个正整数N(≤1000)和一个符号,中间以空格分隔。输出格式:首先打印出由给定符号组成的最大的沙漏形状,

2021-02-19 10:28:42 123

原创 习题8-7 字符串排序 (20 分)

习题8-7 字符串排序 (20 分)帮助和我一样不了解使用二维数据来做这道题的people。具体的理由都在代码块,应该能看懂。#include<stdio.h>#include <string.h>#define num 5/*字符串个数*/#define len 80/*字符串最大长度*/ int main(){ char str[num][len];/*字符的二维数组前一个表示行,后一个表示字符串最大长度*/ char tmp[len];/*二维

2021-02-14 19:41:18 314 1

空空如也

空空如也

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

TA关注的人

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