自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

XDU潭柘的博客

一个苦逼的计算机U•ェ•*U,正在努力挣扎ing,欢迎各位与我探讨交流!

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

原创 XDOJ-360 结点在二叉排序树的位置

此题确实有一定难度,需要对二叉树、遍历算法、指针的相关知识十分熟练才能作对此题,我已将里面我踩过的坑一一注释,希望能对后来的同学有所帮助,恕我愚钝,实在是找不到其他较好的算法了,也希望有其他好方法的朋友可以不吝赐教。然后再给出给定的M个数据分别在树中的位置信息,这个位置信息是一个五元组(双亲、左孩子、右孩子、中序深度优先遍历的直接前驱、直接后继)。输出中应该包含M行,每行有五个数据:给定数据在树中的双亲、左孩子、右孩子、中序深度优先遍历的直接前驱、直接后继。第一组为一个数据,说明序列中元素的个数N;

2022-12-01 15:43:48 671 1

原创 XDOJ-274 中序遍历二叉排序树

本题应该是数这节上机题中最简单的一道,只要掌握中序遍历思想就可解决。输入第一行为整数的个数n,第二行是具体的n个整数。输入一整数序列,建立二叉排序树,然后中序遍历。建立二叉排序树,然后输出中序遍历的结果。1.中序遍历左子树。3.中序遍历右子树。

2022-12-01 15:37:00 759

原创 XDOJ-270 统计二叉树中的叶子结点数

按照完全二叉树的形式输入二叉树的各结点数据(字符),其中虚结点用'@'表示。第一行为为叶子结点的数据值,各数据用空格分隔,第二行为叶子结点的个数。一棵树的叶子数目等于它的左子树叶子数加上右子树叶子数的总和。由于二又树的遍历算法是许多二叉树运算的算法设计的基础,因此遍历算法的应用很广泛。下面将以遍历算法求二叉树的叶子数为例,来加深对二叉树遍历算法的理解。因为叶子结点是二叉树中那些左孩子和右孩子均不存在的结点,所以可在二叉树的遍历过程中,对这种特殊结点进行计数,来完成叶子结点数的统计。

2022-12-01 15:30:07 1318

原创 XDOJ-275 哈弗曼树

哈夫曼树又称最优二叉树,是一类带权路径长度最短的树。当计算构造哈夫曼树的带权路径长度时我们可以使用常规方法进行计算,这里就不展开介绍了,我们在这里给大家介绍一种简便方法,请看下图:

2022-12-01 15:19:24 789

原创 XDOJ-267 判断栈输出顺序正确与否

本题算是比较难的,如果要遍历每一个输出进行比较的话将会十分困难,但是通过逆向,我们将可以化难为易。基本思路是:将输入的出栈序列按照顺序进行弹出,如果能够弹出就证明输出正确,否则就输出错误。如按照此顺序弹出:3 2 1 7 5 6 4,那么就是先入栈123,之后进行比较将3出栈,再比较,将2、1分别出栈,再入栈4 5 6 7,再进行比较,出栈7,最后发现无法在不出栈6的情况下出栈5,则证明此顺序错误。但是,在这之中亦需要考虑栈是否已满,能否入栈等问题,因为此问题中栈的容量也是不确定的因素。

2022-11-02 19:45:57 1117 5

原创 XDOJ-268 括号配对问题

括号匹配问题思路如下:当输入的括号为左括号时,就压入栈;有元素就弹出栈一个元素,和输入的进行匹配,此处无法匹配成功的情况只有两种,分别是"[)"、"(]"(这是只有小括号和中括号的情况,三个情况的大同小异)。

2022-11-02 19:37:06 617 2

原创 XDOJ-265 队列中的元素排序

因为队列的特点是先进先出,我们只需拿出一个元素和其他元素进行比较,将比较后最小的拿出来放入另一个队列中,比它大的都入队,经过一定循环之后,新队列里面的都是以从小到大排序的元素了。

2022-11-02 19:28:24 328

原创 XDOJ-269 判断字符串是否为回文

在设计算法时可以通过循环将数组元素的一半压入栈(奇数的话中心数不压入栈),之后将压入栈的依次出栈和字符串剩下的进行比较就可以轻松解决。但是要注意在调试完的时候一定要将调试代码段注释掉,不然会导致结果出错。

2022-10-31 13:51:52 497

原创 XDOJ-265 队列中的元素排序

本题是一道基础题,主要让大家熟悉下队列的一些基本操作,上手的话没有什么太大的难度,思路也很多,这里仅提供一个常规思路。给定一个队列,请用一系列合法的队列操作函数,比如判断队列是否为空,入队操作,出队操作,将队列中的元素从小到大排序。可以使用一个辅助的队列,采用循环筛选法(即第一轮将最小的选出来,第二轮将次小的选出来,以此类推)输入首先给出1个正整数N(N

2022-10-17 17:29:20 279

原创 XDOJ-276 多项式加减法

本题作为第一次上机的题目,确实有一定的难度,针对后面不同的情况需要分情况进行设计算法。并且要读懂题目的要求,不然肯定是做不对的(我就是没读懂题目,嘎嘎写完发现超时报错)。本代码应该是CSDN中唯一一个可以运行并且满分的代码,也是我根据其他代码进行参考学习后才写出来的(读书人的的事嘛,dddd),在此对提供思路和代码的大佬表示感谢。也欢迎各位和我进行深入交流。

2022-10-05 09:34:20 914

原创 XDOJ-264 反转链表

本题最主要的问题就是设计反转的算法,我为大家提供两种可行思路的代码,大家可以选择最适合自己的算法进行程序设计。从第二行开始每行表示一个链表,其中第一个数据表示链表中数据个数,其余数据表示要测试的链表中的数据,均为整数。输入第一行为整数n(n>=1),代表测试链表数。输入一个链表,反转链表后,输出链表的所有元素。每一行对应一个链表反转后的元素。

2022-10-05 09:27:10 768

原创 XDOJ-263 递增链表的插入

本题是较为容易的一题,只需要将前后两个链表元素的数据大小和要插入的数据进行比较就可得出结论,分为三种情况。情况一:如果小于前面的并且大于等于后面的,即为满足条件,只需要将插入元素的next指向后面的,将前面的next指向要插入元素,就可将元素插入其中;情况二:待插入的数据最小,那么就需要将其插入到头指针后,它的next指向第一个存放数据的元素;情况三:待插入的数据最大,那么就需要将其插入到最后,链表中最后一个元素指向它,它的next置空即可。

2022-10-05 09:21:48 501

原创 XDOJ-262 学生信息管理

本题为XD数据结构上机链表单元第一道练习,主要是让大家熟悉下链表和如何用链表来存储相应数据,并使用指针进行查找链表中的相应数据,进行删除运算等。由于在进行链表的空间分配时没考虑全面,导致会出现越界等现象,已经在代码中易错部分添加注释,如有其他建议,欢迎和我进一步探讨。每行一个学生信息,包括:姓名(不超过20个字符的字符串)、学号(整形)、性别(字符),以空格分隔。学生数据以#结束,并在下一行输入退学学生的学号。现要求根据退学学生的学号,将其信息从链表中删除。若链表中有退学学生,输出删除该学生后的学生数据;

2022-10-05 09:12:47 680

原创 数据结构与算法分析1

大家好,新学期开始了,本学期我会在这个专栏进行数据结构与算法分析的学习经验分享和作业答案共享,本专栏是基于我在上课和课下所学的知识进行整理得出的。课本用的是西电出版社的数据结构,文章中的例子会用到青岛大学王卓老师b站视频中的相关例子和XDU党岚君老师课件中的相关例子,仅供学习参考,如有任何问题请联系我进行修改。

2022-09-09 20:14:38 292

原创 XDOJ 矩阵元素置零

本题是11号晚上考的,考完舍友回来整个人都不好了,听说这题没做出来,作为一个好舍友,我怎么能不做出来显摆显摆呢安慰安慰舍友呢,而且说不定也能帮上明后两天考试的电带er,何乐而不为呢?问题描述 将一个矩阵中,所有包含0的行和列元素都置为零,其他位置的元素值不变。例如下面的3行4列矩阵中,第一行和第三行包含0,第2列和第4列包含0,因此处理后的矩阵如下图所示。输入说明第一行给出正整数m、n(0<m、n<50),为矩阵A的行数和列数。随后m行,每行给出该行的n个元素的...

2022-03-11 00:21:20 507 3

原创 XDOJ 人口普查

这也是本次电带2022期末的一道题,这题用结构体的话不是太难,我也就一次搞定,但是要是不用结构体,那就稍微有点麻烦,由于这才是第一天考c,后面还有时间,大家可以看看我的思路,也希望我的这篇帖子能对大家考试有所帮助,欢迎大家和我讨论。题目描述某城镇进行人口普查,得到了全镇居民的生日。请编写程序,找出镇上最年长和最年轻的人。(这里假设镇上没有超过200岁的老人,假设今天是2021年1月9日,所以超过200岁的生日和未出生的生日都是不合理的,应该被过滤掉)输入格式第一行给出正整数N(≤...

2022-03-11 00:11:39 417 3

原创 XDOJ 懒人游戏

题目描述有N位同学非常喜欢一起玩游戏,他们决定选择其中一个人所在的地点玩游戏,但大家都很懒,不想走很远,他们想知道选哪个人的坐标作为集合点可以让大家走的总路程最短。于是请你来替他们解决这个问题,作为奖励,他们0会告诉你期末考试的题目,没错,就是这道题。说明:若p1和p2两点的坐标分别为(x1,y1)和(x2,y2),则这两点间的距离输入格式第一行给出正整数N(3≤N≤105)表示人数。随后N行表示按编号顺序排列的每位同学的信息,信息包括学生编号num(1≤num≤N)和坐标(坐.

2022-03-10 23:53:40 4356 2

原创 XDOJ 矩阵转置后相乘

2022某电早上第一场的c考试中貌似有一道算出矩阵的转置后再将其相乘的题目,听说挂了不少,我猜题目是这样的:输入一个矩阵,然后要求输出此矩阵和转置相乘后的结果;然后呢,我就分为两部分说。第一部分:矩阵的转置详情请看我之前写的:XDOJ 83-图像旋转第二部分才是矩阵相乘:其实主要就是三重循环,只要搞定了这三重循环其实就做出来了。#include <stdio.h>#include <math.h> #include <string.h&g.

2022-03-10 16:10:34 678

原创 XDOJ 泰勒展开式求sinx近似值

某电2022期末考试第一场有一道这种题目,听说math函数头文件被ban了(我没考,不知道)这次顺便写下不要头文件的代码。ps:当作练习就好,出了啥错我也不负责任.用泰勒展开式求sinx近似值的多项式为:输入x求sinx的近似值,要求误差不大于0.00001。输入格式:直接输入一个实型数据。没有其它任何附加字符。输出格式:直接输出保留3位小数的实型结果。输入样例:2.5结尾无空行输出样例:0.598#include <stdio.h>#incl.

2022-03-10 15:44:37 1359

原创 XDOJ 134-数字分解排序

问题描述输入一个9位以内的正整数n,按数值从高到低的顺序输出n的各位数字。输入说明一个正整数n(0<n<1000000000)输出说明按数值从高到低的顺序输出n的各位数字,数字之间用空格隔开输入样例564391输出样例9 6 5 4 3 1#include <stdio.h>#include <math.h> #include <string.h>#include <stdlib.h

2022-03-09 23:59:59 390

原创 XDOJ 34-水仙花数

问题描述水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)。定义一个函数int function(int a, int b),计算区间[a,b]或区间[b,a]上水仙花数的个数。输入说明输入由两个整数a和b构成,a和b之间用空格分隔。0<a,b<10000输出说明输出区间[a,b]或区间[b,a]上水仙花数的个数。输入样例3 1000输出样例...

2022-03-09 23:54:57 1091

原创 XDOJ 70-Z字形扫描

问题描述在图像编码的算法中,需要将一个给定的方形矩阵进行Z字形扫描(Zigzag Scan)。给定一个m×n的矩阵,Z字形扫描的过程如下图所示。对于下面给出的4×4的矩阵:1 5 3 93 7 5 69 4 6 47 3 1 3对其进行Z字形扫描后得到长度为16的序列如下所示:1 5 3 9 7 3 9 5 4 7 3 6 6 4 1 3请实现一个Z字形扫描的程序,给定一个n×n的矩阵,输出对这个矩阵进行Z字形扫描的结果。输入说明数据的第一行为整.

2022-03-08 23:56:54 182

原创 XDOJ 83-图像旋转

问题描述旋转是图像处理的基本操作,在这个问题中,你需要将一个图像顺时针旋转90度。计算机中的图像可以用一个矩阵来表示,为了旋转一个图像,只需要将对应的矩阵旋转即可。例如,下面的矩阵(a)表示原始图像,矩阵(b)表示顺时针旋转90度后的图像。输入说明输入的第一行包含两个整数n和m,分别表示图像矩阵的行数和列数。1 ≤ n, m ≤ 100。接下来n行,每行包含m个非负整数,表示输入的图像,整数之间用空格分隔。输出说明输出m行,每行n个整数,表示顺时针旋转90度之后.

2022-03-08 23:55:02 578

原创 XDOJ 191-密码编译

问题描述:有一行电文,已按照下面的规律译成密码:A>>Za>>zB>>Yb>>yC>>Xc>>x. .. .. .等等。即第1个字母变成第26个字母,第i个字母变成第(26-i+1)个字母,非字母字符不变,要求编程序将密码译成原文。输入说明:输入一串字符(包含7个元素),表示密码。输出说明:输出其对应的字符(包含7个元素),表示原文。输入样例:AB...

2022-03-08 23:48:46 355

原创 XDOJ 38-回文数

主要就是要把每一个数字从后往前都记下来,然后组起来和原来的进行比较。问题描述若一个非负整数其各位数字按照正反顺序读完全相同,则称之为回文数,例如12321。判断输入的整数是否是回文数。若是,则输出该整数各位数字之和,否则输出no。输入说明输入为一个整数n,0<=n<1000000000。输出说明若该整数为回文数,则输出整数各位数字之和,否则输出no。输入样例样例1输入131样例2输入24输出样例样例1输出5样例

2022-03-08 23:44:34 714

原创 XDOJ 3-1进制转换

问题描述将十进制数转为其他进制数输出。输入说明输入两个整数,分别表示十进制下的数字a(0≤a≤(2^31)-1)和进制N(2≤N≤9),整数之间使用空格分隔。输出说明输出十进制数字a的N进制表示。输入样例17 7输出样例23#include <stdio.h>#include <math.h> #include <string.h>#include <stdlib.h> int main(){

2022-03-07 00:11:14 190

原创 XDOJ 2-1 公式求值

问题描述已知公式Sn=a+aa+aaa+…+aa…a(n个a),其中a是一个数字(1≤a≤9),n表示a的位数(1≤n≤9),给出两个整数a和n,计算Sn,例如:a=2, n=5时Sn=2+22+222+2222+22222。输入说明在一行上输入两个整数a和n的值,并以空格相隔,1≤a≤9,1≤n≤9。输出说明输出Sn的计算结果。输入样例2 5输出样例24690#include <stdio.h>#include <math.h&g.

2022-03-07 00:09:16 119

原创 XDOJ 1-3 出租车费

本题分为两个大情况,分别是晚上和白天,又分了三个小情况,分别是3km以内,3-12km,12km以外,只需要将每个情况分别讨论即可。问题描述某市出租车起步价3公里9.00元(含3公里),基本公里运价2.00元/公里,单程载客12公里以上时,超出12公里每公里加收公里运价50%的空驶补贴费;夜间计费23时至次日6时(含23时和6时),起步价增加1元,每公里运价加收0.3元。例如:(1)乘车时间9点,里程2.5公里,应付车资=起步价,即:fee=9;(2)乘车时间14点,里程15.6公里,应付车..

2022-03-07 00:08:12 557

原创 XDOJ 39-马鞍点

这道题和那个矩阵元素筛选有异曲同工之妙,遍历行寻找符合条件的并记录,遍历列寻找符合条件的并记录,当两个条件都能满足那就是要求的,保存并输出就好。这是那个矩阵元素筛选这是那个问题描述 若一个矩阵中的某元素在其所在行最小而在其所在列最大,则该元素为矩阵的一个马鞍点。请写一个程序,找出给定矩阵的马鞍点。输入说明 输入数据第一行只有两个整数m和n(0<m<100,0<n<100),分别表示矩阵的行数和列数;接下来的m行、每行n个整数表示矩阵元素(矩阵中的元素互不相同),整

2022-03-06 00:17:26 265

原创 XDOJ 5-1 矩阵元素筛选

这种题都是通法,像马鞍点那种方法,遍历行寻找符合条件的并记录,遍历列寻找符合条件的并记录,当两个条件都能满足那就是要求的,保存并输出就好。问题描述请写一个程序,找出给定矩阵中的符合某个条件的某类元素,给出的条件为:该类元素在行上最小,在列上也最小。输入说明输入数据由m+1行构成,第一行只有两个整数m和n(0<m<100,0<n<100),分别表示矩阵的行数和列数;接下来的m行、每行n个整数表示矩阵元素(矩阵中的元素互不相同),整数之间以空格间隔。输出说明按行优

2022-03-06 00:07:18 155

原创 XDOJ4-2 成绩名次

这题因为需要进行排序,所以就再建立一个结构体用来存储原来的顺序,最终顺序的输出借助排序完的与之前存储的原顺序,具体的请看我的代码。问题描述输入n名(100>n>0)同学的课程考试成绩,成绩均为浮点数(0<=成绩<=100),且n人成绩各不相同。编写程序,输出这n名同学成绩对应的名次,最高成绩名次为1,依次类推。输入说明输入为两行,第一行是一个整数n表示n个人;第二行为n个浮点数,表示n个人的成绩,成绩均为浮点数(0<=成绩<=100),且n人成绩各不相同。

2022-03-06 00:03:23 85

原创 XDOJ 2-3 字符统计

问题描述输入一行长度不超过100的字符串,统计输出该字符串中字母,数字和其它字符的个数。输入说明输入一行字符串。输出说明输出该字符串中字母、数字和其它字符的个数,用空格分隔。输入样例1983Birt ** sf))Zj\输出样例8 4 7#include <stdio.h>#include <math.h> #include <string.h>#include <stdlib.h> int main(){

2022-03-05 23:37:26 1210

原创 XDOJ 1-2 判断天数

问题描述输入某年某月某日,判断这一天是这一年的第几天?例如,2010年1月1日是这一年的第一天,而2018年12月31日是这一年的第365天。输入说明输入三个整数分别表示年(1900~2030)、月(1~12)、日(1~31),数据间空一个空格。输出说明输出一个整数,表示输入的日期是该年的第几天输入样例2000 3 1输出样例61#include <stdio.h>#include <math.h> #include <string

2022-03-05 23:32:16 284

原创 XDOJ 6-3 成绩统计

这个题用结构体会省不少力,主要就是将平均分进行比较并排序;当平均分相同时,就比较学号,学号小的就排前面。想清楚循环和判断条件就行,就这样一道简单题,就酱~。问题描述有N(0<N<=100)个学生,每个学生有3门课的成绩,输入每个学生数据(包括学号,姓名,三门课成绩),计算每个学生的平均成绩,并按照平均成绩从高到低的顺序输出学生信息,平均成绩相同时,则按照学号从小到大顺序输出。输入说明第一行输入学生个数N,然后逐行输入N个学生信息,包括学号,姓名,三门课成绩,学号为正整数,姓名不超

2022-03-05 23:31:02 319

原创 XDOJ 5-3 螺旋方阵

此问题需分为两种情况,一种是n可以被2整除,另一种是不能整除,大思路就是将整个过程分为一圈一圈的小过程,不能整除的特殊情况(别怕,只要特殊就简单)就需要直接赋值,正常情况就需要再走一圈,让k值++就好。问题描述螺旋方阵是指一个呈螺旋状的矩阵,它的左上角元素为1,由第一行开始按从左到右,从上到下,从从右向左,从下到上的顺序递增填充矩阵,直到矩阵填充完毕,下图所示是一个5*5阶的螺旋方阵。输入螺旋方阵的阶数N,按行输出该螺旋方阵。输入说明输入一个正整数N(1<N<=100)。.

2022-03-05 23:25:26 538 3

原创 XDOJ 2-2 函数求值

问题描述函数f(n)的表达式如下图所示,给出一个整数n,求函数f(n)的值。正在上传…重新上传取消输入说明输入一个整数n(0<n<100)。输出说明输出整数n对应的f(n)。输入样例3输出样例8...

2022-03-05 23:16:17 72

原创 XDOJ 1-1 车牌限行

此题期中考试老师说不考,我就放一边没看(其实就是菜),这不期末考试了,我才拉出来做一做,其实也不过如此,就是if条件的嵌套,只要看准条件,把情况分好,就没有问题了,实在不行可以看看我的注释,保证让你看的清清楚楚的(doge)问题描述受雾霾天气影响,某市决定当雾霾指数超过设定值时对车辆进行限行,假设车牌号全为数字,且长度不超过6位,限行规则如下:(1)限行时间段只包括周一至周五,周六周日不限行;(2)如果雾霾指数低于200,不限行;(3)如果雾霾指数大于等于200且不超过400,每天限行两...

2022-03-02 23:33:29 1269 1

原创 PTA 7-46 爬动的蠕虫

一条蠕虫长1寸,在一口深为N寸的井的底部。已知蠕虫每1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬。在休息的过程中,蠕虫又下滑了D寸。就这样,上爬和下滑重复进行。请问,蠕虫需要多长时间才能爬出井?这里要求不足1分钟按1分钟计,并且假定只要在某次上爬过程中蠕虫的头部到达了井的顶部,那么蠕虫就完成任务了。初始时,蠕虫是趴在井底的(即高度为0)。输入格式:输入在一行中顺序给出3个正整数N、U、D,其中D<U,N不超过100。输出格式:在一行中输出蠕虫爬出井的时间,以分钟为单位。

2022-02-27 23:14:18 87

原创 PTA 7-63 高空坠球

皮球从某给定高度自由落下,触地后反弹到原高度的一半,再落下,再反弹,……,如此反复。问皮球在第n次落地时,在空中一共经过多少距离?第n次反弹的高度是多少?输入格式:输入在一行中给出两个非负整数,分别是皮球的初始高度和n,均在长整型范围内。输出格式:在一行中顺序输出皮球第n次落地时在空中经过的距离、以及第n次反弹的高度,其间以一个空格分隔,保留一位小数。题目保证计算结果不超过双精度范围。输入样例:33 5输出样例:94.9 1.0代码段:#include &l.

2022-02-27 23:12:05 208

原创 PTA 7-59 打印菱形图案

PS:本题的重中之重就在于找寻输出的规律,从而通过循环输出本题要求编写程序,打印一个高度为n的、由“*”组成的正菱形图案。输入格式:输入在一行中给出一个正的奇数n。输出格式:输出由n行星号“*”组成的菱形,如样例所示。每个星号后跟一个空格。输入样例:7输出样例: * * * * * * * * * * * * * * * * * * * * * * * * * 代码段:#include <s.

2022-02-27 23:10:30 239

空空如也

空空如也

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

TA关注的人

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