自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 用链表做一个图书管理系统

这几天一直尝试去用链表写这个图书管理系统,本来想在图书管理系统中写个文件管理操作,写了挺久也没写对,最后只能在用户登录操作中写了个简单的文件管理操作。如果有哪里写的不好还请大家见谅!继续加油!目录一、用户登录模块的实现:1.函数实现结构体的创建文件操作一.首先写一个主菜单:​二.登录系统三.创建账号四.修改密码五.删除账号六.做交互2.用户登录代码二、图书管理系统模块的实现:1.函数实现结构体的创建创建表头和创建结点一、菜单显示二...

2021-09-09 13:50:28 9547 5

原创 C语言:使用字符串处理函数

1.puts函数——输出字符串的函数其一般形式为puts(字符数组名)

2021-09-06 15:30:30 1785 3

原创 尝试用数组写一个学生信息管理系统

这只是我尝试做的一个简单的程序,顺便复习下C语言,希望以后的自己能更加努力,努力更随大佬们的脚步。C语言学生信息管理系统包括以下功能:1.添加学生信息2.查询学生信息3.修改学生信息4.学生学号排序5.删除学生信息6.浏览学生信息每个模块的实现:结构体的创建实现首先要有个结构体包含学生的相关信息(学号 姓名 年龄 性别 身份证号 电话)struct Student{ int Id; //学号 char name[15]; //

2021-09-04 22:18:40 4514 12

原创 7-30 字符串的冒泡排序 (20 分)

7-30 字符串的冒泡排序 (20 分)我们已经知道了将N个整数按从小到大排序的冒泡排序法。本题要求将此方法用于字符串序列,并对任意给定的K(<N),输出扫描完第K遍后的中间结果序列。输入格式:输入在第1行中给出N和K(1≤K<N≤100),此后N行,每行包含一个长度不超过10的、仅由小写英文字母组成的非空字符串。输出格式:输出冒泡排序法扫描完第K遍后的中间结果序列,每行包含一个字符串。输入样例:6 2bestcateastafreeday结尾无空行

2021-08-21 10:50:06 514

原创 L1-072 刮刮彩票 (20 分)

L1-072 刮刮彩票 (20 分)“刮刮彩票”是一款网络游戏里面的一个小游戏。如图所示:每次游戏玩家会拿到一张彩票,上面会有 9 个数字,分别为数字 1 到数字 9,数字各不重复,并以3×3的“九宫格”形式排布在彩票上。在游戏开始时能看见一个位置上的数字,其他位置上的数字均不可见。你可以选择三个位置的数字刮开,这样玩家就能看见四个位置上的数字了。最后玩家再从 3 横、3 竖、2 斜共 8 个方向中挑选一个方向,方向上三个数字的和可根据下列表格进行兑奖,获得对应数额的金币。数字合计..

2021-08-18 11:18:45 567

原创 1-080 乘法口诀数列 (20 分)

1-080 乘法口诀数列 (20 分)本题要求你从任意给定的两个 1 位数字a1​和a2​开始,用乘法口诀生成一个数列 {an​},规则为从a1​开始顺次进行,每次将当前数字与后面一个数字相乘,将结果贴在数列末尾。如果结果不是 1 位数,则其每一位都应成为数列的一项。输入格式:输入在一行中给出 3 个整数,依次为a1​、a2​和n,满足0≤a1​,a2​≤9,0<n≤103。输出格式:在一行中输出数列的前n项。数字间以 1 个空格分隔,行首尾不得有多余空格。...

2021-08-18 09:22:48 2016 2

原创 L1-079 天梯赛的善良 (20 分)

L1-079 天梯赛的善良 (20 分)天梯赛是个善良的比赛。善良的命题组希望将题目难度控制在一个范围内,使得每个参赛的学生都有能做出来的题目,并且最厉害的学生也要非常努力才有可能得到高分。于是命题组首先将编程能力划分成了106个等级(太疯狂了,这是假的),然后调查了每个参赛学生的编程能力。现在请你写个程序找出所有参赛学生的最小和最大能力值,给命题组作为出题的参考。输入格式:输入在第一行中给出一个正整数N(≤2×104),即参赛学生的总数。随后一行给出N个不超过106的正整数,...

2021-08-17 16:42:23 250

原创 L1-033 出生年 (15 分)

L1-033 出生年 (15 分)以上是新浪微博中一奇葩贴:“我出生于1988年,直到25岁才遇到4个数字都不相同的年份。”也就是说,直到2013年才达到“4个数字都不相同”的要求。本题请你根据要求,自动填充“我出生于y年,直到x岁才遇到n个数字都不相同的年份”这句话。输入格式:输入在一行中给出出生年份y和目标年份中不同数字的个数n,其中y在[1, 3000]之间,n可以是2、或3、或4。注意不足4位的年份要在前面补零,例如公元1年被认为是0001年,有2个不同的数字0和1。输出格式:

2021-08-16 11:56:26 2249

原创 L1-032 Left-pad (20 分)

L1-032 Left-pad (20 分)根据新浪微博上的消息,有一位开发者不满NPM(Node Package Manager)的做法,收回了自己的开源代码,其中包括一个叫left-pad的模块,就是这个模块把javascript里面的React/Babel干瘫痪了。这是个什么样的模块?就是在字符串前填充一些东西到一定的长度。例如用*去填充字符串GPLT,使之长度为10,调用left-pad的结果就应该是******GPLT。Node社区曾经对left-pad紧急发布了一个替代,被严重吐槽。下面就请

2021-08-15 19:11:28 71

原创 L1-023 输出GPLT (20 分)

L1-023 输出GPLT (20 分)给定一个长度不超过10000的、仅由英文字母构成的字符串。请将字符重新调整顺序,按GPLTGPLT....这样的顺序输出,并忽略其它字符。当然,四种字符(不区分大小写)的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按GPLT的顺序打印,直到所有字符都被输出。输入格式:输入在一行中给出一个长度不超过10000的、仅由英文字母构成的非空字符串。输出格式:在一行中按题目要求输出排序后的字符串。题目保证输出非空。输入样例:pcTcl

2021-08-15 19:07:04 99

原创 L1-054 福到了 (15 分)

L1-054 福到了 (15 分)“福”字倒着贴,寓意“福到”。不论到底算不算民俗,本题且请你编写程序,把各种汉字倒过来输出。这里要处理的每个汉字是由一个 N×N 的网格组成的,网格中的元素或者为字符@或者为空格。而倒过来的汉字所用的字符由裁判指定。输入格式:输入在第一行中给出倒过来的汉字所用的字符、以及网格的规模 N (不超过100的正整数),其间以 1 个空格分隔;随后 N 行,每行给出 N 个字符,或者为@或者为空格。输出格式:输出倒置的网格,如样例所示。但是,如果这个...

2021-08-14 21:35:28 83

原创 L1-027 出租 (20 分)

L1-027 出租 (20 分)下面是新浪微博上曾经很火的一张图:一时间网上一片求救声,急问这个怎么破。其实这段代码很简单,index数组就是arr数组的下标,index[0]=2对应arr[2]=1,index[1]=0对应arr[0]=8,index[2]=3对应arr[3]=0,以此类推…… 很容易得到电话号码是18013820100。本题要求你编写一个程序,为任何一个电话号码生成这段代码 —— 事实上,只要生成最前面两行就可以了,后面内容是不变的。输入格式:输入在...

2021-08-14 21:30:07 152

原创 L1-025 正整数A+B (15 分)

L1-025 正整数A+B (15 分)题的目标很简单,就是求两个正整数A和B的和,其中A和B都在区间[1,1000]。稍微有点麻烦的是,输入并不保证是两个正整数。输入格式:输入在一行给出A和B,其间以空格分开。问题是A和B不一定是满足要求的正整数,有时候可能是超出范围的数字、负数、带小数点的实数、甚至是一堆乱码。注意:我们把输入中出现的第1个空格认为是A和B的分隔。题目保证至少存在一个空格,并且B不是一个空字符串。输出格式:如果输入的确是两个正整数,则按格式A + B = 和输出。

2021-08-12 18:42:29 115

原创 6-3 有序数组的插入

6-3 有序数组的插入本题要求将任一给定元素插入从大到小排好序的数组中合适的位置,以保持结果依然有序。函数接口定义:bool Insert( List L, ElementType X );其中List结构定义如下:typedef int Position;typedef struct LNode *List;struct LNode { ElementType Data[MAXSIZE]; Position Last; /* 保存线性表中最后一个元素的位置 */

2021-08-11 09:13:45 358

原创 6-4 链表逆置

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

2021-08-11 09:10:21 531

原创 6-1 二分查找

6-1 二分查找 (20 分)本题要求实现二分查找算法。函数接口定义:Position BinarySearch( List L, ElementType X );其中List结构定义如下:typedef int Position;typedef struct LNode *List;struct LNode { ElementType Data[MAXSIZE]; Position Last; /* 保存线性表中最后一个元素的位置 */};L是用户传入的一

2021-08-11 09:00:32 1394

原创 L1-056 猜数字 (20 分)

L1-056 猜数字 (20 分)一群人坐在一起,每人猜一个 100 以内的数,谁的数字最接近大家平均数的一半就赢。本题就要求你找出其中的赢家。输入格式:输入在第一行给出一个正整数N(≤104)。随后 N 行,每行给出一个玩家的名字(由不超过8个英文字母组成的字符串)和其猜的正整数(≤100)。输出格式:在一行中顺序输出:大家平均数的一半(只输出整数部分)、赢家的名字,其间以空格分隔。题目保证赢家是唯一的。输入样例:7Bob 35Amy 28James 98Alice.

2021-08-11 08:11:11 79

原创 7-31 字符串循环左移 (20 分)

7-31 字符串循环左移 (20 分)输入一个字符串和一个非负整数N,要求将字符串循环左移N次。输入格式:输入在第1行中给出一个不超过100个字符长度的、以回车结束的非空字符串;第2行给出非负整数N。输出格式:在一行中输出循环左移N次后的字符串。输入样例:Hello World!2结尾无空行输出样例:llo World!He结尾无空行代码如下:#include<stdio.h>#include<string.h>int

2021-08-10 09:59:16 69

原创 L1-011 A-B (20 分)

L1-011 A-B (20 分)本题要求你计算A−B。不过麻烦的是,A和B都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉,剩下的字符组成的就是字符串A−B。输入格式:输入在2行中先后给出字符串A和B。两字符串的长度都不超过104,并且保证每个字符串都是由可见的ASCII码和空白字符组成,最后以换行符结束。输出格式:在一行中打印出A−B的结果字符串。输入样例:I love GPLT! It's a fun game!aeiou结尾无空行输出样例:

2021-08-10 09:54:52 60

原创 1006 换个格式输出整数 (15 分)

1006 换个格式输出整数 (15 分)让我们用字母B来表示“百”、字母S表示“十”,用12...n来表示不为零的个位数字n(<10),换个格式来输出任一个不超过 3 位的正整数。例如234应该被输出为BBSSS1234,因为它有 2 个“百”、3 个“十”、以及个位的 4。输入格式:每个测试输入包含 1 个测试用例,给出正整数n(<1000)。输出格式:每个测试用例的输出占一行,用规定的格式输出n。输入样例 1:234输出样例 1:...

2021-08-05 11:24:39 58

原创 1011 A+B 和 C (15 分)

1011 A+B 和 C (15 分)给定区间 [−231,231] 内的 3 个整数A、B和C,请判断A+B是否大于C。输入格式:输入第 1 行给出正整数T(≤10),是测试用例的个数。随后给出T组测试用例,每组占一行,顺序给出A、B和C。整数间以空格分隔。输出格式:对每组测试用例,在一行中输出Case #X: true如果A+B>C,否则输出Case #X: false,其中X是测试用例的编号(从 1 开始)。输入样例:41 2...

2021-08-05 11:22:10 103

原创 L1-069 胎压监测 (15 分)

L1-069 胎压监测 (15 分)小轿车中有一个系统随时监测四个车轮的胎压,如果四轮胎压不是很平衡,则可能对行车造成严重的影响。让我们把四个车轮 —— 左前轮、右前轮、右后轮、左后轮 —— 顺次编号为 1、2、3、4。本题就请你编写一个监测程序,随时监测四轮的胎压,并给出正确的报警信息。报警规则如下:如果所有轮胎的压力值与它们中的最大值误差在一个给定阈值内,并且都不低于系统设定的最低报警胎压,则说明情况正常,不报警; 如果存在一个轮胎的压力值与它们中的最大值误差超过了阈值,或者低于系统设

2021-07-30 15:18:22 156

原创 L1-070 吃火锅 (15 分)

L1-070 吃火锅 (15 分)以上图片来自微信朋友圈:这种天气你有什么破事打电话给我基本没用。但是如果你说“吃火锅”,那就厉害了,我们的故事就开始了。本题要求你实现一个程序,自动检查你朋友给你发来的信息里有没有chi1 huo3 guo1。输入格式:输入每行给出一句不超过 80 个字符的、以回车结尾的朋友信息,信息为非空字符串,仅包括字母、数字、空格、可见的半角标点符号。当读到某一行只有一个英文句点.时,输入结束,此行不算在朋友信息里。输出格式:首先在一行中输出朋友信息...

2021-07-30 15:15:22 116

原创 L1-076 降价提醒机器人 (10 分)

L1-076 降价提醒机器人 (10 分)小 T 想买一个玩具很久了,但价格有些高,他打算等便宜些再买。但天天盯着购物网站很麻烦,请你帮小 T 写一个降价提醒机器人,当玩具的当前价格比他设定的价格便宜时发出提醒。输入格式:输入第一行是两个正整数N和M(1≤N≤100,0≤M≤1000),表示有N条价格记录,小 T 设置的价格为M。接下来N行,每行有一个实数Pi​(−1000.0<Pi​<1000.0),表示一条价格记录。输出格式:对每一条比设定价格M...

2021-07-29 17:59:38 1388

原创 L1-075 强迫症 (10 分)

L1-075 强迫症 (10 分)小强在统计一个小区里居民的出生年月,但是发现大家填写的生日格式不统一,例如有的人写199808,有的人只写9808。有强迫症的小强请你写个程序,把所有人的出生年月都整理成年年年年-月月格式。对于那些只写了年份后两位的信息,我们默认小于22都是20开头的,其他都是19开头的。输入格式:输入在一行中给出一个出生年月,为一个 6 位或者 4 位数,题目保证是 1000 年 1 月到 2021 年 12 月之间的合法年月。输出格式:在一行中按...

2021-07-29 17:55:21 2830 2

原创 6-1 邻接矩阵存储图的深度优先遍历

6-1 邻接矩阵存储图的深度优先遍历试实现邻接矩阵存储图的深度优先遍历。函数接口定义:void DFS( MGraph Graph, Vertex V, void (*Visit)(Vertex) );其中MGraph是邻接矩阵存储的图,定义如下:typedef struct GNode *PtrToGNode;struct GNode{ int Nv; /* 顶点数 */ int Ne; /* 边数 */ WeightType G[MaxVert.

2021-07-28 20:47:23 497

原创 6-2 邻接表存储图的广度优先遍历

6-2 邻接表存储图的广度优先遍历试实现邻接表存储图的广度优先遍历。函数接口定义:void BFS ( LGraph Graph, Vertex S, void (*Visit)(Vertex) );其中LGraph是邻接表存储的图,定义如下:/* 邻接点的定义 */typedef struct AdjVNode *PtrToAdjVNode; struct AdjVNode{ Vertex AdjV; /* 邻接点下标 */ PtrToAdjVN.

2021-07-28 20:46:42 270

原创 6-12 二叉树的遍历(非递归)

6-12 二叉树的遍历(非递归)要求使用非递归的方式实现中序遍历,并输出中序序列函数接口定义:在这里描述函数接口。例如:void Inorder(BinTree BT) /*中序遍历的非递归算法 */其中BinTree的结构定义为:typedef struct TNode *Position;typedef Position BinTree;struct TNode{ ElementType Data; BinTree Left; BinTre..

2021-07-27 10:17:59 413

原创 PTA:6-7 先序输出第i个结点

6-7 先序输出第i个结点本题要求实现对于给定的二叉树,打印先序序列中指定序号的结点。函数接口定义:void PrintNode(BiTree T);T是二叉树树根指针,PrintNode函数输出给定二叉树的先序序列中第n个结点,n为结点在先序序列中的序号,从1开始编号。其中BinTree结构定义如下:typedef char ElemType;typedef struct BiTNode{ ElemType data; struct BiTNode *lch.

2021-07-27 10:16:00 1611 1

原创 PTA:6-7 二叉树的遍历

6-7 二叉树的遍历本题要求给定二叉树的4种遍历。函数接口定义:void InorderTraversal( BinTree BT );void PreorderTraversal( BinTree BT );void PostorderTraversal( BinTree BT );void LevelorderTraversal( BinTree BT );其中BinTree结构定义如下:typedef struct TNode *Position;typedef Po.

2021-07-27 10:12:33 674

原创 PTA:6-4 链表逆置

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

2021-07-27 10:07:57 576

原创 7-21 回文数 (20 分)

7-21 回文数 (20 分)回文数是一种很有趣的数,正反读起来都一样,比如123321或者123454321,单个的数字还有0,都是回文数。但是我们熟悉的回文数都是十进制下的,现在我们加大难度,对一个给定的数,想知道它在其他进制下是不是回文数。输入格式:在一行中给出2的整数N和R,其中N是不超过10的9次方的正整数,是需要判断的数,R是基,R=10表示十进制,R=2表示是二进制,R是不小于2,不超过10的9次方的正整数。输出格式:对每一组输入,如果N在R进制下式回文数,那么就就第一行输

2021-07-25 23:03:19 921 1

原创 7-23 建立与遍历二叉树 (70 分)

7-23 建立与遍历二叉树 (70 分)以字符串的形式定义一棵二叉树的先序序列,若字符是‘#’, 表示该二叉树是空树,否则该字符是相应结点的数据元素。读入相应先序序列,建立二叉链式存储结构的二叉树,然后中序遍历该二叉树并输出结点数据。输入格式:字符串形式的先序序列(即结点的数据类型为单个字符)输出格式:中序遍历结果输入样例:在这里给出一组输入。例如:ABC##DE#G##F###输出样例:在这里给出相应的输出。例如:CBEGDFA代码如下:#inc.

2021-07-25 23:00:33 338 5

原创 L1-007 念数字 (10 分)

L1-007 念数字 (10 分)输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出fu字。十个数字对应的拼音如下:0: ling1: yi2: er3: san4: si5: wu6: liu7: qi8: ba9: jiu输入格式:输入在一行中给出一个整数,如:1234。提示:整数包括负数、零和正数。输出格式:在一行中输出这个整数对应的拼音,每个数字的拼音之间用空格分开,行末没有最后的空格。如yi er san si。输入样例:-60.

2021-07-23 16:46:23 1200

原创 L1-015 跟奥巴马一起画方块 (15 分)

L1-015 跟奥巴马一起画方块 (15 分)美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧!输入格式:输入在一行中给出正方形边长N(3≤N≤21)和组成正方形边的某种字符C,间隔一个空格。输出格式:输出由给定字符C画出的正方形。但是注意到行间距比列间距大,所以为了让结果看上去更像正方形,我们输出的行数实际上是

2021-07-23 16:42:50 2743

原创 L1-019 谁先倒 (15 分)

L1-019 谁先倒 (15 分)划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就输了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。下面给出甲、乙两人的酒量(最多能喝多少杯不倒)和划拳记录,请你判断两个人谁先倒。输入格式:输入第一行先后给出甲、乙两人的酒量(不超过100的非负整数),以空格分隔。下一行给出一个正整数N(≤100),随后N行,每行给出一轮划拳的

2021-07-23 16:39:40 123

原创 L1-030 一帮一 (15 分)

L1-030 一帮一 (15 分)“一帮一学习小组”是中小学中常见的学习组织方式,老师把学习成绩靠前的学生跟学习成绩靠后的学生排在一组。本题就请你编写程序帮助老师自动完成这个分配工作,即在得到全班学生的排名后,在当前尚未分组的学生中,将名次最靠前的学生与名次最靠后的异性学生分为一组。输入格式:输入第一行给出正偶数N(≤50),即全班学生的人数。此后N行,按照名次从高到低的顺序给出每个学生的性别(0代表女生,1代表男生)和姓名(不超过8个英文字母的非空字符串),其间以1个空格分隔。这里保证本班男女

2021-07-23 16:32:59 60

原创 L1-031 到底是不是太胖了 (10 分)

L1-031 到底是不是太胖了 (10 分)据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。真实体重与标准体重误差在10%以内都是完美身材(即 | 真实体重−标准体重 |<标准体重×10%)。已知市斤是公斤的两倍。现给定一群人的身高和实际体重,请你告诉他们是否太胖或太瘦了。输入格式:输入第一行给出一个正整数N(≤20)。随后N行,每行给出两个整数,分别是一个人的身高H(120<H<200;单位:厘米)和真实体重W(50&...

2021-07-23 16:30:11 770

原创 L1-035 情人节 (15 分)

L1-035 情人节 (15 分)以上是朋友圈中一奇葩贴:“2月14情人节了,我决定造福大家。第2个赞和第14个赞的,我介绍你俩认识…………咱三吃饭…你俩请…”。现给出此贴下点赞的朋友名单,请你找出那两位要请客的倒霉蛋。输入格式:输入按照点赞的先后顺序给出不知道多少个点赞的人名,每个人名占一行,为不超过10个英文字母的非空单词,以回车结束。一个英文句点.标志输入的结束,这个符号不算在点赞名单里。输出格式:根据点赞情况在一行中输出结论:若存在第2个人A和第14个人B,则输出“A and

2021-07-23 16:27:57 1403

原创 L1-062 幸运彩票 (15 分)

L1-062 幸运彩票 (15 分)彩票的号码有 6 位数字,若一张彩票的前 3 位上的数之和等于后 3 位上的数之和,则称这张彩票是幸运的。本题就请你判断给定的彩票是不是幸运的。输入格式:输入在第一行中给出一个正整数 N(≤100)。随后 N 行,每行给出一张彩票的 6 位数字。输出格式:对每张彩票,如果它是幸运的,就在一行中输出You are lucky!;否则输出Wish you good luck.。输入样例:2233008123456输出样例:Yo...

2021-07-23 16:24:57 496

空空如也

空空如也

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

TA关注的人

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