自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 BUAA词频统计(树实现)

【问题描述】编写程序统计一个英文文本文件中每个单词的出现次数(词频统计),并将统计结果按单词字典序输出到屏幕上。要求:程序应用二叉排序树(BST)来存储和统计读入的单词。注:在此单词为仅由字母组成的字符序列。包含大写字母的单词应将大写字母转换为小写字母后统计。在生成二叉排序树不做平衡处理。【输入形式】打开当前目录下文件article.txt,从中读取英文单词进行词频统计。【输出形式】程序应首先输出二叉排序树中根节点、根节点的右节点及根节点的右节点的右节点上的单词(即root、root->

2021-01-24 22:11:50 2508

原创 BUAA通讯录整理

【问题描述】读取一组电话号码簿(由姓名和手机号码组成),将重复出现的项删除(姓名和电话号码都相同的项为重复项,只保留第一次出现的项),并对姓名相同手机号码不同的项进行如下整理:首次出现的项不作处理,第一次重复的姓名后面加英文下划线字符_和数字1,第二次重复的姓名后面加英文下划线字符_和数字2,依次类推。号码簿中姓名相同的项数最多不超过10个。最后对整理后的电话号码簿按照姓名进行从小到大排序,并输出排序后的电话号码簿。【输入形式】先从标准输入读取电话号码个数,然后分行输入姓名和电话号码,姓名由不超过20

2021-01-24 21:59:22 2221 2

原创 加密文件

【问题描述】有一种加密方法为:其使用一个字母串(可以含重复字母,字母个数不超过50)作为密钥。假定密钥单词串为feather,则先去掉密钥单词中的重复字母得到单词串feathr,然后再将字母表中的其它字母以反序追加到feathr的后面:加密字母的对应关系如下其中第一行为原始英文字母,第二行为对应加密字母。其它字符不进行加密。编写一个程序,用这种密码加密文件。假定要加密的文件名为encrypt.txt及加密后的文件名为output.txt,并假定输入文件中字母全为小写字母,并且输入密钥也全为小写字母。

2020-12-03 08:22:34 1825

原创 BUAA字符串替换(新)

【问题描述】编写程序将一个指定文件中某一字符串替换为另一个字符串。要求:(1)被替换字符串若有多个,均要被替换;(2)指定的被替换字符串,大小写无关。【输入形式】给定文件名为filein.txt。从控制台输入两行字符串(不含空格,行末尾都有回车换行符),分别表示被替换的字符串和替换字符串。【输出形式】将替换后的结果输出到文件fileout.txt中。【样例输入】从控制台输入两行字符串:inout文件filein.txt的内容为:#include <stdio.h>void

2020-07-17 23:28:22 4892 1

原创 BUAA五子棋危险判断

【问题描述】已知两人分别执白棋和黑棋在一个围棋棋盘上下五子棋,若同一颜色的棋子在同一条横行、纵行或斜线上连成5个棋子,则执该颜色棋子的人获胜。编写程序读入某一时刻下棋的状态,并判断是否有人即将获胜,即:同一颜色的棋子在同一条横行、纵列或斜线上连成4个棋子,且该4个棋子的两端至少有一端为空位置。输入的棋盘大小是19×19,用数字0表示空位置(即没有棋子),用数字1表示该位置下了一白色棋子,用数字2表示该位置下了一黑色棋子。假设同一颜色的棋子在同一条横行、纵列或斜线上连成的棋子个数不会超过4个,并且最多有一

2020-07-14 09:26:23 2800 3

原创 BUAA全排列数的生成

【问题描述】输入整数N( 1 <= N <= 10 ),生成从1~N所有整数的全排列。【输入形式】输入整数N。【输出形式】输出有N!行,每行都是从1~N所有整数的一个全排列,各整数之间以空格分隔。各行上的全排列不重复。输出各行遵循“小数优先”原则, 在各全排列中,较小的数尽量靠前输出。如果将每行上的输出看成一个数字,则所有输出构成升序数列。具体格式见输出样例。【样例输入1】1【样例输出1】1【样例说明1】输入整数N=1,其全排列只有一种。【样例输入2】3【样例输出2】1 2 3

2020-07-14 09:19:48 1782 2

原创 BUAA小数形式与科学计数法转换(简)

如果你来自BUAA,记得别复制【问题描述】编写一个程序,将用小数表示的浮点数,转换成科学计数法的形式输出。输入的数据没有符号,小数点前后必有数字,且全为有效数据,即小数点后的末尾数字不为0;小数点前若只有一位数字,可以为0,否则小数点前的最高位数字不为0。提示:以字符串形式保存相关数据。【输入形式】从控制台输入一小数,最后有回车换行符,所有输入的字符数不会超过100。【输出形式】以科学计数法形式输出数据。输出的数据由以下几部分构成:1.底数部分是一个小数或整数,若为小数,则小数点前后必有数字

2020-07-14 09:13:45 2887 1

原创 BUAA超长正整数的减法

【问题描述】编写程序实现两个超长正整数(每个最长80位数字)的减法运算。【输入形式】从键盘读入两个整数,要考虑输入高位可能为0的情况(如00083)。第一行是超长正整数A;第二行是超长正整数B;【输出形式】输出只有一行,是长整数A减去长整数B的运算结果,从高到低依次输出各位数字。要求:若结果为0,则只输出一个0;否则输出的结果的最高位不能为0,并且各位数字紧密输出。【输入样例】234098134098703578230056【输出样例】-134098703577995958【样

2020-07-14 09:12:46 1749

原创 BUAA扩展字符A

【问题描述】从键盘输入包含扩展符’-'的字符串,将其扩展为等价的完整字符,例如将a-d扩展为abcd,并输出扩展后的字符串。要求:只处理[a-z]、[A-Z]、[0-9]范围内的字符扩展,即只有当扩展符前后的字符同时是小写字母、大写字母或数字,并且扩展符后的字符大于扩展符前的字符时才进行扩展,其它情况不进行扩展,原样输出。例如:a-R、D-e、0-b、4-B等字符串都不进行扩展。【输入形式】从键盘输入包含扩展符的字符串【输出形式】输出扩展后的字符串【输入样例1】ADEa-g-m02【输出样

2020-07-14 09:10:58 680

原创 BUAA表达式计算(支持空格,连乘,连除)

【问题描述】从标准输入中读入一个整数算术运算表达式,如5 - 1 * 2 * 3 + 12 / 2 / 2 =。计算表达式结果,并输出。要求:1、表达式运算符只有+、-、*、/,表达式末尾的’=’字符表示表达式输入结束,表达式中可能会出现空格;2、表达式中不含圆括号,不会出现错误的表达式;3、出现除号/时,以整数相除进行运算,结果仍为整数,例如:5/3结果应为1。【输入形式】在控制台中输入一个以’=’结尾的整数算术运算表达式。【输出形式】向控制台输出计算结果(为整数)。..

2020-07-14 09:10:03 3282 1

原创 BUAA北京地铁乘坐线路查询

【问题描述】编写一个程序实现北京地铁最短乘坐(站)线路查询,输入为起始站名和目的站名,输出为从起始站到目的站的最短乘坐站换乘线路。注:1. 要求采用Dijkstra算法实现;2)如果两站间存在多条最短路径,找出其中的一条就行。【输入形式】文件bgstations.txt为数据文件(可从课程网站中课程信息处下载),包含了北京地铁的线路及车站信息。其格式如下:<地铁线路总条数><线路1> <线路1站数><站名1> <换乘状态><站

2020-06-30 18:32:08 2851

原创 BUAA最少布线(图)

【问题描述】北航主要办公科研楼有新主楼、逸夫楼、如心楼、办公楼、图书馆、主楼、一号楼等等;。北航网络中心计划要给相关建筑物间铺设光缆进行网络连通,请给出用料最少的铺设方案。编写程序输入一个办公区域分布图及建筑物之间的距离,计算出用料最少的铺设方案(只有一组最优解,不用考虑多组解)。要求采用Prim或Kruskal算法实现。【输入形式】办公区域分布图的顶点(即建筑物)按照自然数(0,1,2,n-1)进行编号,从标准输入中首先输入两个正整数,分别表示线路图的顶点的数目和边的数目,然后在接下的行中输入每条

2020-06-30 18:11:43 2131

原创 BUAA独立路径数计算

【问题描述】老张和老王酷爱爬山,每周必爬一次香山。有次两人为从东门到香炉峰共有多少条路径发生争执,于是约定一段时间内谁走过对方没有走过的路线多谁胜。给定一线路图(无向连通图,两顶点之间可能有多条边),编程计算从起始点至终点共有多少条独立路径,并输出相关路径信息。注:独立路径指的是从起点至终点的一条路径中至少有一条边是与别的路径中所不同的,同时路径中不存在环路。【输入形式】图的顶点按照自然数(0,1,2,…,n)进行编号,其中顶点0表示起点,顶点n-1表示终点。从标准输入中首先输入两个正整数n,e

2020-06-30 18:07:04 2099

原创 BUAA图遍历(图-基本题)

【问题描述】给定一个无向图和一个图顶点,编程输出该图删除给定顶点前后按深度优先遍历及广度优先遍历方式遍历的图顶点序列。给定的无向图和图顶点满足以下要求:1、无向图的顶点个数n大于等于3,小于等于100,输入时顶点编号用整数0~n-1表示;2、无向图在删除给定顶点前后都是连通的;3、无论何种遍历,都是从编号为0的顶点开始遍历,访问相邻顶点时按照编号从小到大的顺序访问;4、删除的顶点编号不为0。【输入形式】先从标准输入中输入图的顶点个数和边的个数,两整数之间以一个空格分隔,然后从下一行开始分行输

2020-06-30 17:32:37 2203

原创 BUAA整数排序(排序-基本题)

【问题描述】从标准输入中输入一组互不相同的整数(个数不超过100)及排序方式,按照从小到大排序,输出按某种算法排序的结果及元素的比较次数。说明:排序方式为一个1~5的整数,分别表示:1:选择排序,比较次数是指选择未排序部分的最小元素时的比较次数。2:冒泡排序,比较次数是指相邻元素的比较次数,若某趟排序中没有进行数据交换,就认为排序结束。3:堆排序,比较次数是指根元素调整过程中根元素与子树根结点的比较次数,即下面算法中红色语句的执行次数:void adjust(int k[ ],int i,int

2020-06-30 17:28:29 2441

原创 BUAA排座位(简)a

【问题描述】某班级要进行期末考试,准备考试时打乱座次,现已按照学号顺序人工为学生随机安排了座位号,但其中可能会出现漏排和重复安排座位的情况。编写程序读入人工安排的考试座位安排表T1,对安排情况进行检查,并对漏排和重复安排座位的情况进行修正,修正后,若学生人数为N,则每位学生考试座位安排应在1~N之间,其中没有缺号和重号。假设T1中学号信息不会出现重复,同一座位号最多有两位同学的座位号相同,并且座位号不会连续漏排;初始考试座位安排表存放在当前目录下的in.txt中,其中包括每位学生的学号、姓名和座位号,要求修

2020-06-30 17:26:36 1406 1

原创 BUAA单词查找(查找-基本题)

【问题描述】从标准输入中读入一个英文单词及查找方式,在一个给定的英文常用单词字典文件dictionary3000.txt中查找该单词,返回查找结果(查找到返回1,否则返回0)和查找过程中单词的比较次数。查找前,先将所有字典中单词读入至一个单词表(数组)中,然后按要求进行查找。字典中单词总数不超过3500,单词中的字符都是英文小写字母,并已按字典序排好序(可从课件下载区下载该字典文件)。字典中的单词和待查找单词的字符个数不超过20。查找方式说明:查找方式以1~4数字表示,每个数字含义如下:1:在单词表中

2020-06-30 17:24:36 3384

原创 BUAA_Huffman编码文件压缩

【问题描述】(选做,与实验题类似,不计分)编写一程序采用Huffman编码对一个正文文件进行压缩。具体压缩方法如下:对正文文件中字符(换行字符’'除外,不统计)按出现次数(即频率)进行统计依据字符频率生成相应的Huffman树(未出现的字符不生成)依据Huffman树生成相应字符的Huffman编码依据字符Huffman编码压缩文件(即按照Huffman编码依次输出源文件字符)。说明:只对文件中出现的字符生成Huffman,注意:一定不要处理\n,即不要为其生成Huff

2020-06-28 21:25:40 1036

原创 BUAA喜鹊筑巢

【问题描述】喜鹊通常会选择一棵树最高处分枝最多(即分枝最多的结点中高度最高的结点)的地方筑巢(结构最稳定)。给定一棵三叉树,计算出喜鹊筑窝的地点(可能有多个,多个时应按树前序遍历的顺序给出相应的结点信息,包括结点号以及按照前序遍历第几个访问到该结点)。例如下图是一颗三叉树:该树中结点最多有三个分枝,拥有三个分枝的最高的结点为23号和15号结点,按照前序遍历顺序将会第19个访问到23号结点,第31个访问到15号结点。要求:按照前序遍历访问三叉树的分枝时应先访问左分枝,再访问中间分枝,最后访问右分枝;根

2020-06-28 21:21:23 542

原创 BUAA计算器(表达式计算-表达式树实现)

【问题描述】从标准输入中读入一个整数算术运算表达式,如24 / ( 1 + 2 + 36 / 6 / 2 - 2) * ( 12 / 2 / 2 )= ,计算表达式结果,并输出。要求:1、表达式运算符只有+、-、*、/,表达式末尾的=字符表示表达式输入结束,表达式中可能会出现空格;2、表达式中会出现圆括号,括号可能嵌套,不会出现错误的表达式;3、出现除号/时,以整数相除进行运算,结果仍为整数,例如:5/3结果应为1。4、要求采用表达式树来实现表达式计算。表达式树(expression tree

2020-06-28 21:19:43 3858 1

原创 BUAA树叶节点遍历(树-基础题)

【问题描述】从标准输入中输入一组整数,在输入过程中按照左子结点值小于根结点值、右子结点值大于等于根结点值的方式构造一棵二叉查找树,然后从左至右输出所有树中叶结点的值及高度(根结点的高度为1)。例如,若按照以下顺序输入一组整数:50、38、30、64、58、40、10、73、70、50、60、100、35,则生成下面的二叉查找树:从左到右的叶子结点包括:10、35、40、50、60、70、100,叶结点40的高度为3,其它叶结点的高度都为4。【输入形式】先从标准输入读取整数的个数,然后从下一行开始输

2020-06-28 21:15:09 3168

原创 BUAA银行排队模拟(生产者-消费者模拟)

【问题描述】一个系统模仿另一个系统行为的技术称为模拟,如飞行模拟器。模拟可以用来进行方案论证、人员培训和改进服务。计算机技术常用于模拟系统中。生产者-消费者(Server-Custom)是常见的应用模式,见于银行、食堂、打印机、医院、超等提供服务和使用服务的应用中。这类应用的主要问题是消费者如果等待(排队)时间过长,会引发用户抱怨,影响服务质量;如果提供服务者(服务窗口)过多,将提高运管商成本。(经济学中排队论)假设某银行网点有五个服务窗口,分别为三个对私、一个对公和一个外币窗口。银行服务的原则是先来

2020-06-28 21:11:11 2136

原创 BUAA文本编辑操作模拟(简)a

【问题描述】编写一程序模拟文本编辑操作。首先从标准输入读取一行字符串(字符个数不超过512),该行字符串是已经过n(大于0,小于等于10)步编辑操作后的结果。然后从下一行读取n,以及已发生过的n步编辑操作,编辑操作分行输入,输入格式为:op pos str其中op为编辑操作命令编码(在此只有插入和删除操作,1表示插入或2表示删除操作);pos表示插入或删除的位置;str表示已经插入或删除的字符串(中间没有空格)。各数据间以一个空格分隔。然后在空一行后,再分行输入当前将要进行的编辑操作,包括如下四种操

2020-06-28 21:09:28 2475

原创 BUAA计算器(表达式计算-后缀表达式实现)

【问题描述】从标准输入中读入一个整数算术运算表达式,如24 / ( 1 + 5%3 + 36 / 6 / 2 - 2) * ( 12 / 2 / 2 )= ,计算表达式结果,并输出。要求:1、表达式运算符只有+、-、*、/、%,表达式末尾的=字符表示表达式输入结束,表达式中可能会出现空格;2、表达式中会出现圆括号,括号可能嵌套,不会出现错误的表达式;3、出现除号/时,以整数相除进行运算,结果仍为整数,例如:5/3结果应为1。4、要求采用逆波兰表达式来实现表达式计算。【输入形式】从键盘输入一个

2020-06-28 21:07:43 3489

原创 BUAA_C程序括号匹配检查

【问题描述】编写一程序检查C源程序文件中{}、()等括号是否匹配,并输出第一个检测到的不匹配的括号及所对应括号所在的行号(程序中只有一个括号不匹配)。注意:1.除了括号可能不匹配外,输入的C源程序无其它语法错误。2.字符常量、字符串常量及注释中括号不应被处理,注释包括单行注释//和多行/* */注释3.字符常量和字符串常量中不包含转义字符’和";4.程序中出现有意义括号的个数不超过200个;不匹配判断规则:1.当检测的程序括号为’{‘时,若其前序尚未匹配的括号为’(‘时,输出该’('左括号及

2020-06-28 21:06:43 3568 1

原创 BUAA栈操作(栈-基本题)

【问题描述】假设给定的整数栈初始状态为空,栈的最大容量为100。从标准输入中输入一组栈操作,按操作顺序输出出栈元素序列。栈操作:1表示入栈操作,后跟一个整数(不为1、0和-1)为入栈元素;0表示出栈操作;-1表示操作结束。【输入形式】从标准输入读取一组栈操作,入栈的整数和表示栈操作的整数之间都以一个空格分隔。【输出形式】在一行上按照操作的顺序输出出栈元素序列,以一个空格分隔各元素,最后一个元素后也要有一个空格。如果栈状态为空时进行出栈操作,或栈满时进行入栈操作,则输出字符串“error”,并且字符

2020-06-28 21:04:39 2338

原创 BUAA词频统计(数组或链表实现)

【问题描述】编写程序统计一个英文文本文件中每个单词的出现次数(词频统计),并将统计结果按单词字典序输出到屏幕上。注:在此单词为仅由字母组成的字符序列。包含大写字母的单词应将大写字母转换为小写字母后统计。【输入形式】打开当前目录下文件“article.txt”,从中读取英文单词进行词频统计。【输出形式】程序将单词统计结果按单词字典序输出到屏幕上,每行输出一个单词及其出现次数,单词和其出现次数间由一个空格分隔,出现次数后无空格,直接为回车。【样例输入】当前目录下文件article

2020-06-21 17:30:49 3605

原创 BUAA文件加密(环)

【问题描述】有一种文本文件加密方法,其方法如下:1、密钥由所有ASCII码可见字符(ASCII码编码值32-126为可见字符)组成,密钥长度不超过32个字符;2、先将密钥中的重复字符去掉,即:只保留最先出现的字符,其后出现的相同字符都去掉;3、将不含重复字符的密钥和其它不在密钥中的可见字符(按字符升序)连成一个由可见字符组成的环,密钥在前,密钥的头字符为环的起始位置;4、设原密钥的第一个字符(即环的起始位置)作为环的开始位置标识,先从环中删除第一个字符(位置标识则移至下一个字符),

2020-06-21 17:29:02 3348

原创 BUAA多项式相乘

【问题描述】编写一个程序实现两个一元多项式相乘。【输入形式】首先输入第一个多项式中系数不为0的项的系数和指数,以一个空格分隔。且该多项式中各项的系数均为0或正整数,系数和最高幂次不会超过int类型的表示范围。对于多项式 anxn +a n-1 x n-1 + … + a1x1 + a0x0 的输入方法如下:an n a n-1 n-1 … a1 1 a0 0即相邻两个整数分别表示表达式中一项的系数和指数。在输入中只出现系数不为0的项。最后一项的指数后没有空格,只有一个回车换行符。按

2020-06-21 17:25:13 2325 1

原创 BUAA猴子选大王

BUAAer?【问题描述】要从n只猴子中选出一位大王。它们决定使用下面的方法:n只猴子围成一圈,从1到n顺序编号。从第q只猴子开始,从1到m报数,凡报到m的猴子退出竞选,下一次又从退出的那只猴子的下一只开始从1到m报数,直至剩下的最后一只为大王。请问最后哪只猴子被选为大王。【输入形式】控制台输入三个整数n,m,q,各整数间以一个空格分隔。【输出形式】输出最后选为大王的猴子编号。【样例输入】7 4 3【样例输出】4【样例说明】输入有7只猴子,从第3只猴子开始,从1到4报数。最后编号为4的

2020-06-21 17:22:29 1047

原创 BUAA连续线段

【问题描述】平面上两个点(一个点由(x,y)坐标组成)可构成一个线段,两个线段如果有一个端点相同,则可构成一个连续线段。假设构成线段的两个端点为v1(x1,y1)和v2(x2,y2),在此满足x1<x2,其中v1称为线段的起点,v2为线段的终点。同样,对于连续线段来说,在此满足xi<xi+1(i=1…n-1,n为连续线段中的端点数,xi为相应端点的X轴坐标)。输入一组线段(用两个端点的x、y坐标表示线段,线段个数大于等于2,小于等于100),编程计算出连续线段中包含最多线段数的

2020-06-21 17:20:38 2367 2

原创 BUAA小型图书管理系统

【问题描述】小明同学特别喜欢买书看书。由于书较多,摆放杂乱,找起来非常麻烦。这学期小明同学上了数据结构与程序设计课后,决定改变这种状况:用C开发一个小型图书管理系统。系统中包含的图书信息有:书名、作者、出版社、出版日期等。首先,图书管理系统对已有的书(原始书库,存放在一个文本文件中)按书名字典序进行(按书名中各字符的ASCII码值由小到大排序)摆放(即将原始无序的图书信息文件生成一个有序的文件,即新书库),以便查找。该管理系统可以对新书库中图书条目进行如下操作:1.录入。新增书录入到书库中(即从输入中读

2020-06-20 12:20:54 2937 1

空空如也

空空如也

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

TA关注的人

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