自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 问答 (1)
  • 收藏
  • 关注

原创 C语言:统计数字问题

问题描述:一本书的页码从自然数1开始书序编码直到自然数 n 。书的页码按照通常的习惯编排,每个页码都不含多余的前导数字0。例如,第六页 用数字表示是6,而不是06或者006等,数字计数问题要求给定的总页码n,计算出书的全部页码中分别用到多少次数字 0,1,2,…9。编程任务:给定书的总页码的十进制整数n (1<=n<=10^9)。编程计算书的全部页码中分别用到多少次0,1,2,3,…9#include <iostream>#include <cstdio>#i

2021-04-23 09:24:35 796

原创 C语言:最多约数问题

问题描述:正整数x的约数是能整除x的正整数。正整数x 的约数个数记为div(x)。例如,1,2,5,10 都是正整数10 的约数,且div(10)=4。设a 和b 是2 个正整数,a≤b,找出a和b之间约数个数最多的数x。编程任务:对于给定的2个正整数a≤b,编程计算a 和 b 之间约数个数最多的数。数据输入:输入数据由文件名为input.txt的文本文件提供。文件的第1 行有2 个正整数 a和 b。结果输出:程序运行结束时,找到a 和b之间约数个数最多的那个数及最多约数个数。#includ

2021-04-23 09:22:08 2335

转载 srand和rand函数使用

函数一:int rand(void);功能:产生随机值,从srand (seed)中指定的seed开始,返回一个[seed, RAND_MAX(0x7fff))间的随机整数。函数二:void srand(unsigned seed);参数seed是rand()的种子,用来初始化rand()的起始值。可以认为rand()在每次被调用的时候,它会查看:1) 如果用户在此之前调用过srand(seed),给seed指定了一个值,那么它会自动调用srand(seed)一次来初始化它的起始值。2) 如果

2021-04-20 13:41:25 2431

原创 7-1 判断上三角矩阵 (15分)

7-1 判断上三角矩阵 (15分)上三角矩阵指主对角线以下的元素都为0的矩阵;主对角线为从矩阵的左上角至右下角的连线。本题要求编写程序,判断一个给定的方阵是否上三角矩阵。输入格式:输入第一行给出一个正整数T,为待测矩阵的个数。接下来给出T个矩阵的信息:每个矩阵信息的第一行给出一个不超过10的正整数n。随后n行,每行给出n个整数,其间以空格分隔。输出格式:每个矩阵的判断结果占一行。如果输入的矩阵是上三角矩阵,输出“YES”,否则输出“NO”。输入样例:231 2 30 4 50 0 6

2020-12-03 11:07:29 506 1

原创 数据结构-串、数组与广义表篇(已完结)

1、串(1)串的补充C语言中常见串运算调用标准库函数 #include<string.h>串比较,strcmp(char s1,char s2)串复制,strcpy(char to,char from)串连接,strcat(char to,char from)求串长,strlen(char s)(2)串的模式匹配算法1、BF算法将主串的第pos个字符和模式的第一个字符比较,若相等,继续逐个比较后续字符;若不等,从主串的下一字符起,重新与模式的第一个字符比较。直到主串的一

2020-12-03 11:02:30 264 2

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

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

2020-12-03 08:56:58 651 1

原创 7-2 堆栈操作合法性 (20分)

7-2 堆栈操作合法性 (20分)假设以S和X分别表示入栈和出栈操作。如果根据一个仅由S和X构成的序列,对一个空堆栈进行操作,相应操作均可行(如没有出现删除时栈空)且最后状态也是栈空,则称该序列是合法的堆栈操作序列。请编写程序,输入S和X序列,判断该序列是否合法。输入格式:输入第一行给出两个正整数N和M,其中N是待测序列的个数,M(≤50)是堆栈的最大容量。随后N行,每行中给出一个仅由S和X构成的序列。序列保证不为空,且长度不超过100。输出格式:对每个序列,在一行中输出YES如果该序列是合法的堆

2020-12-02 15:41:22 256

原创 7-3 求链式线性表的倒数第K项 (20分)

7-3 求链式线性表的倒数第K项 (20分)给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字。输入格式:输入首先给出一个正整数K,随后是若干非负整数,最后以一个负整数表示结尾(该负数不算在序列内,不要处理)。输出格式:输出倒数第K个位置上的数据。如果这个位置不存在,输出错误信息NULL。输入样例:4 1 2 3 4 5 6 7 8 9 0 -1输出样例:7此代码用到了动态储存管理,效率较线性储存查找更高。#include<stdio.h>#in

2020-11-30 21:44:33 455

原创 7-2 两个有序链表序列的交集 (20分)

7-2 两个有序链表序列的交集 (20分)已知两个非降序链表序列S1与S2,设计函数构造出S1与S2的交集新链表S3。输入格式:输入分两行,分别在每行给出由若干个正整数构成的非降序序列,用−1表示序列的结尾(−1不属于这个序列)。数字用空格间隔。输出格式:在一行中输出两个输入序列的交集序列,数字间用空格分开,结尾不能有多余空格;若新链表为空,输出NULL。输入样例:1 2 5 -12 4 5 8 10 -1输出样例:2 5//库函数头文件包含#include<stdio.h&g

2020-11-30 20:34:43 283

原创 7-1 两个有序链表序列的合并 (20分)

7-1 两个有序链表序列的合并 (20分)已知两个非降序链表序列S1与S2,设计函数构造出S1与S2合并后的新的非降序链表S3。输入格式:输入分两行,分别在每行给出由若干个正整数构成的非降序序列,用−1表示序列的结尾(−1不属于这个序列)。数字用空格间隔。输出格式:在一行中输出合并后新的非降序链表,数字间用空格分开,结尾不能有多余空格;若新链表为空,输出NULL。输入样例:1 3 5 -12 4 6 8 10 -1输出样例:1 2 3 4 5 6 8 10//库函数头文件包含#inc

2020-11-30 20:29:47 662

原创 7-2 jmu-ds-顺序表区间元素删除 (15分)

7-2 jmu-ds-顺序表区间元素删除 (15分)若一个线性表L采用顺序存储结构存储,其中所有的元素为整数。设计一个算法,删除元素值在[x,y]之间的所有元素,要求算法的时间复杂度为O(n),空间复杂度为O(1)。输入格式:三行数据,第一行是顺序表的元素个数,第二行是顺序表的元素,第三行是x和y。输出格式:删除元素值在[x,y]之间的所有元素后的顺序表。输入样例:105 1 9 10 67 12 8 33 6 23 10输出样例:1 67 12 33 2#include<io

2020-11-30 20:05:02 430

原创 数据结构-基本概念

数据结构-基本概念本单元为前言及其基本概念,主要以个人语言给出的整理后的PTA题目,用于复习。1、数据的(逻辑结构)包括集合、线性结构、树形结构、图形结构四种基本类型,它使(数据元素间关系的描述),与储存关系无关,与其使用的计算机无关。2、数据在计算机内存中的表示是指(数据的存储结构),在存储数据时,通常不仅要存储各数据元素的值,而且还要存储(数据元素之间的关系)。3、数据结构是一门研究非数值计算的程序设计问题中计算机的(操作对象)以及它们之间的关系和运算等的学科,因此在决定选取何种存储结构时,

2020-11-30 16:50:55 915

原创 7-3 冒泡法排序 (20分)

7-3 冒泡法排序 (20分)将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们。通过一遍扫描,则最后一个元素必定是最大的元素。然后用同样的方法对前N−1个元素进行第二遍扫描。依此类推,最后只需处理两个元素,就完成了对N个数的排序。本题要求对任意给定的K(<N),输出扫描完第K遍后的中间结果数列。输入格式:输入在第1行中给出N和K(1≤K<N≤100),在第2行中给出N个待排序的整数,数字间以空格分隔。输出格式:

2020-11-25 20:45:39 5351

原创 7-2 奥运排行榜 (25分)非排序算法更低时间复杂度

7-2 奥运排行榜 (25分)每年奥运会各大媒体都会公布一个排行榜,但是细心的读者发现,不同国家的排行榜略有不同。比如中国金牌总数列第一的时候,中国媒体就公布“金牌榜”;而美国的奖牌总数第一,于是美国媒体就公布“奖牌榜”。如果人口少的国家公布一个“国民人均奖牌榜”,说不定非洲的国家会成为榜魁…… 现在就请你写一个程序,对每个前来咨询的国家按照对其最有利的方式计算它的排名。输入格式:输入的第一行给出两个正整数N和M(≤224,因为世界上共有224个国家和地区),分别是参与排名的国家和地区的总个数、以及前

2020-11-25 20:31:34 675 1

原创 7-1 畅通工程之局部最小花费问题 (35分)

某地区经过对城镇交通状况的调查,得到现有城镇间快速道路的统计数据,并提出“畅通工程”的目标:使整个地区任何两个城镇间都可以实现快速交通(但不一定有直接的快速道路相连,只要互相间接通过快速路可达即可)。现得到城镇道路统计表,表中列出了任意两城镇间修建快速路的费用,以及该道路是否已经修通的状态。现请你编写程序,计算出全地区畅通需要的最低成本。输入格式:输入的第一行给出村庄数目N (1≤N≤100);随后的N(N−1)/2行对应村庄间道路的成本及修建状态:每行给出4个正整数,分别是两个村庄的编号(从1编号到N

2020-11-18 17:06:02 466

原创 数据结构-图篇(更新中)

1、图的定义即基本概念(1)相关术语及定义;图是由顶点(vertex)集合及顶点间的关系(edge)组成的一种数据结构。Graph=(V,E)其中,顶点集合 V={x|x∈某个对象数据集}V={x|x∈某个对象数据集} 是有穷非空集合;E={(x,y)|x,y∈V}E={(x,y)|x,y∈V} 是顶点间关系的有穷集合,也叫边(edge)集合。Path(x,y)Path(x,y)表示从顶点x到y的一条单向通路,他是有方向的。有向图与无向图:与边是否有方向区分完全图:任意两个点都有一条边连接

2020-11-17 22:20:01 128

原创 数据结构-树与二叉树篇(更新中)

1、树1、树是n ( n > = 0 ) n(n>=0)n(n>=0)结点的有限集,有且仅有一个特定的称为根的结点,当n>1时,其余结点可分为m个互不相交的有限集,每个集合都是一棵树,是根的子树。2、结点的度:子树的个数;树的度:树的节点中最大度叶节点(终端结点):度为0的节点;而分支结点是度不为0的结点。树的深度:树所有结点中最大层次(根节点的层次为1)路径长度:结点个数-1,或者说是分支条数兄弟结点是与当前结点父结点相同的结点森林是m ( m > =

2020-11-17 20:10:32 381

原创 数据结构-栈与队列篇(已完结)

1、栈(1)定义和特点1、定义:只能在表的一端进行插入和删除的特殊线性表2、储存结构:可使用顺序栈或者链栈3、先进后出(FILO)后进先出(LIFO)4、一定要预设栈底指针(base)栈顶指针(top) 栈容量(stacksize)栈空标志极为topbase,栈满标志即为topbase+stacksize...

2020-11-16 18:06:01 172

原创 数据结构知识整理-线性表篇(已完结)

数据结构线性表1、顺序表;特点:顺序存储,随机存取;读取数据方便,插入和删除(极大可能)将会移动较多的数据。C语言描述:#define MAX_SIZEL 1000#define ElemType int#define Statue inttypedef struct{ ElemType *elem;//储存空间基址; int length;//当前长度 int listsize;//目前容量 }SqList;初始化Status InitList_Sq(SqList &am

2020-11-15 20:54:02 441

原创 7-1 两个有序序列的中位数 (25分)

7-1 两个有序序列的中位数 (25分)已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。有序序列A​0,A​1​​ ,⋯,A​N−1​​ 的中位数指A​(N−1)/2​​ 的值,即第⌊(N+1)/2⌋个数(A​0​​ 为第1个数)。输入格式:输入分三行。第一行给出序列的公共长度N(0<N≤100000),随后每行输入一个序列的信息,即N个非降序排列的整数。数字用空格间隔。输出格式:在一行中输出两个输入序列的并集序列的中位数。输入样例1:5

2020-11-15 20:42:08 233 1

原创 7-8(树) 修理牧场 (25分)

7-8(树) 修理牧场 (25分)农夫要修理牧场的一段栅栏,他测量了栅栏,发现需要N块木头,每块木头长度为整数Li​个长度单位,于是他购买了一条很长的、能锯成N块的木头,即该木头的长度是L​i​​ 的总和。但是农夫自己没有锯子,请人锯木的酬金跟这段木头的长度成正比。为简单起见,不妨就设酬金等于所锯木头的长度。例如,要将长度为20的木头锯成长度为8、7和5的三段,第一次锯木头花费20,将木头锯成12和8;第二次锯木头花费12,将长度为12的木头锯成7和5,总花费为32。如果第一次将木头锯成15和5

2020-11-15 20:25:54 253

原创 7-2(链表) 一元多项式求导 (20分)

7-2(链表) 一元多项式求导 (20分)设计函数求一元多项式的导数。输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。输入样例:3 4 -5 2 6 1 -2 0输出样例:12 3 -10 1 6 0AC代码#include<stdio.h>int main() { int con=0,q=1,a,b,arr

2020-11-15 20:21:45 614

原创 7-1(链表) 一元多项式的乘法与加法运算 (20分)

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

2020-11-15 20:20:24 350

原创 数据结构知识整理-时间与空间复杂度篇(已完结)

0、前言:一个程序在写出来之前是无法准确估计实际运行时间的。但是几乎所有算法竞赛的任务都会告知输入数据的规模和运行时间限制,这就允许选手通过分析算法的时间复杂度,从而事先估计能否在限定的时间内运行完程序。一个程序的空间复杂度是指运行完一个程序所需内存的大小。利用程序的空间复杂度,可以对程序的运行所需要的内存多少有个预先估计。1、时间复杂度(1)表示方法大O符号表示法中,时间复杂度的公式是: T(n) = O( f(n) ),其中f(n) 表示每行代码执行次数之和,而 O 表示正比例关系,这个公

2020-11-15 20:11:10 1426

原创 关于C语言中的动态内存分配基础!关键词malloc、alloc、realloc。

一、C语言的内存分配区C语言分配如此多的区域,主要是因为:一个进程在运行时,代码是根据流程依次执行的,代码只需访问一次,当然跳转或递归时代码会被执行多次,而数据一般都需要访问多次,因此单独开辟空间以便访问和节约空间。(1) 代码区(text)代码区包括操作码和要操作的对象(或对象的地址引用),如果是立即数(即具体的数值,如2),将直接包含在代码中;如果是局部数据,将在栈中分配空间,然后引用该数据的地址;(2) 全局初始化数据区/静态数据区(data)只初始化一次。在程序编译时,该区域已经被分配好

2020-11-14 21:23:19 682

空空如也

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

TA关注的人

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