- 博客(33)
- 收藏
- 关注
原创 18060 删除空格
目录原题描述题目分析代码原题描述Description用指针方法解决,输入一个字符串,删除字符串中所有空格后,输出字符串#include <stdio.h>void removeSpace(char *s){}int main(){char s[81];gets(s);removeSpace(s);printf("%s", s);return 0;}输入格式一行字符,以换行回车结束,最多不超过80个字符输出格式删除所有空格后输出输入样例abc 4
2021-07-30 00:46:47
321
原创 18065 所有数字之和
目录原题描述题目分析代码原题描述Description编写一个函数,计算一个整数的所有数字之和#include “stdio.h”int sum(int n){_______________________}main(){int n;scanf("%d", &n);printf("%d", sum(n));}输入格式由键盘输入一个整数输出格式输出该数各位数字之和输入样例123输出样例6提示1+2+3=6题目分析就是拆解数字嘛。注意这里不是字符型。可
2021-07-23 01:09:36
388
原创 18054 输出不同的数
目录原题描述题目分析代码原题描述Description输入10个整数,输出其中不同的数,即如果一个数出现了多次,只输出一次。输入格式输入10个整数输出格式依次输出不同的数字(一行一个,从上到下依次输出先出现的数)输入样例1 2 1 3 3 2 4 5 5 9输出样例123459题目分析看题目要求感觉就是去重,可以手写代码真正去重。当然,重复的数不输出同样可以达到题目的要求。本题的两种方法都是后一种思想。代码代码1(标程):#include"stdio.h"main
2021-07-18 16:48:33
1216
1
原创 18924 二叉树的宽度
目录原题描述题目分析代码原题描述Description二叉树的宽度指的是具有节点数目最多的那一层的节点个数。1/2 3/4答案为2, 第二层节点数最多,为2个节点。输入格式共n行。第一行一个整数n,表示有n个结点,编号为1至n,结点1为树根。(1<=n<=50)第二行至第n行,每行有两个整数x和y,表示在二叉树中x为y的父节点。x第一次出现时y为左孩子输出格式输出二叉树的宽度。输入样例51 21 32 42 5输出样例2题目分析看到题目描述就感觉
2021-06-19 17:14:48
453
原创 17121 求二叉树各种节点数
目录原题描述题目分析代码原题描述Description构造二叉链表表示的二叉树:按先序次序输入二叉树中结点的值(一个字符),’#'字符表示空树,构造二叉链表表示的二叉树T,并求此二叉树中度为2的节点总数,度为1的节点总数,度为0的节点总数输入格式第一行输入先序次序二叉树中结点输出格式第一行输出度为2的节点数第二行输出度为1的节点数第三行输出度为0的节点数输入样例ABC###D##输出样例112题目分析其实还是遍历算法嘛,这里以先序遍历举例。只是在访问结点的同时统计下该节点的
2021-06-18 20:07:51
260
原创 8606 二叉树的构建及遍历操作(数组实现)
目录原题描述题目分析代码原题描述Description构造二叉链表表示的二叉树:按先序次序输入二叉树中结点的值(一个字符),’#'字符表示空树,构造二叉链表表示的二叉树T;再输出三种遍历序列。输入格式第一行:输入一棵二叉树的先序遍历序列输出格式第一行:二叉树的先序遍历序列第二行:二叉树的中序遍历序列第三行:二叉树的后序遍历序列输入样例AB##C##输出样例ABCBACBCA题目分析建树(给 什么顺序的遍历结果就用什么顺序建树)->根据建好的树选择相应的遍历即可(注意所
2021-06-18 17:04:54
442
原创 8592 KMP算法
目录原题描述题目分析代码原题描述Description 用KMP算法对主串和模式串进行模式匹配。输入格式第一行:输入n,表示有n对字符串需要匹配第二行:输入第1个主串第三行:输入第1个模式串第四行:输入第2个主串第五行:输入第2个模式串……倒数二行:输入第n个主串最后一行:输入第n个模式串输出格式第一至第n行:输出每相应模式串的匹配值输入样例4oadhifgoarhglkdsaoarabcdefgdecalgeojflasojfjfaweiofof输出样例8
2021-06-18 10:35:49
303
原创 8591 计算next值
目录原题描述题目分析代码原题描述Description编写算法,录入多个字符串计算并验证NEXT值,输入0结束。输入格式第一行:输入n,表示有n个需计算NEXT值的字符串第二至n+1行:每行输入一个字符串输出格式第1至第n行:通过计算每相应行的字符串得出的NEXT值输入样例4abcdefgaaaaababaabcacaaabaaab输出样例NEXT J is:0111111NEXT J is:012345NEXT J is:01122312NEXT J is:01231
2021-06-17 23:03:19
711
原创 8587 行编辑程序
目录原题描述题目分析代码原题描述Description利用栈编写简单的行编辑程序:接受用户从终端输入的程序或数据,在输入过程中,允许用户输入出差错,并在发现有误时可以及时更正。例如:当用户发现刚刚键入的一个字符是错的时,可以补进一个退格符“#”,以表示前一个字符无效;如果发现当前键入的行内差错较多或难以补救,则可以键入一个退行符“@”,以表示当前行中的字符均无效。例如:假设从终端接受了这样两行字符: whli##ilr#e (s#*s) outcha@putchar(*s=#++); 则实际有效的是下
2021-06-17 16:51:18
210
原创 8586 括号匹配检验
目录原题描述题目分析代码原题描述Description 利用栈编写满足下列要求的括号匹配检验程序:假设表达式中允许包含两种括号:圆括号和方括号,其嵌套的顺序随意,即()或[([][])]等为正确的格式,[(]或([())或(()])均为不正确的格式。输入一个包含上述括号的表达式,检验括号是否配对。输入格式第一行:输入一个包含圆括号或方括号、不超过80个字符的表达式串。输出格式第一行:若输入表达式括号匹配,输出"matching"; 若不匹配,输出具体信息:“isn’t matched pairs
2021-06-17 13:17:55
362
原创 8585 栈的应用——进制转换
目录原题描述题目分析代码原题描述Description利用顺序栈的基本操作算法,编写满足下列要求的数制转换程序:对于输入的任意一个非负十进制整数,打印输出与其等值的八进制数。输入格式第一行:输入一个非负的十进制整数输出格式第一行:与输入等值的八进制数输入样例15输出样例17题目分析代码1是简单的10转8进制;代码2是针对10转任意进制的(待更新)代码代码1:#include <iostream>using namespace std;int main()
2021-06-17 00:32:22
379
原创 8583 顺序栈的基本操作
目录原题描述题目分析代码原题描述Description 创建一个空的顺序栈,并实现栈的入栈、出栈、返回栈的长度、返回栈顶元素、栈的遍历等基本算法。请将下面的程序补充完整。#include<malloc.h>#include<stdio.h>#define OK 1#define ERROR 0#define STACK_INIT_SIZE 100 // 存储空间初始分配量#define STACKINCREMENT 10 // 存储空间分配增量typedef int
2021-06-16 23:29:19
189
原创 8579 链式线性表的基本操作
目录原题描述题目分析代码原题描述题目分析代码#include <iostream>#include <vector>#include <algorithm>using namespace std;vector<int>a;void load(){ int i; if(!a.size()) printf("The List is empty!"); // 请填空 else {
2021-06-16 18:26:07
188
原创 8578 顺序表逆置
目录原题描述题目分析代码原题描述时间限制:1000MS 代码长度限制:10KB提交次数:3660 通过次数:2149题型: 编程题 语言: G++;GCCDescription顺序表的基本操作代码如下:#include<stdio.h>#include<malloc.h>#define OK 1#define ERROR 0#define LIST_INIT_SIZE 100#define LISTINCREMENT 10#define ElemTyp
2021-06-16 16:48:06
208
原创 8649 图的广度遍历
目录原题描述题目分析代码原题描述时间限制:1000MS 代码长度限制:10KB提交次数:1573 通过次数:975题型: 编程题 语言: G++;GCCDescription使用图的深度遍历实现的邻接表存储结构和基本操作函数,在此基础上实现图的广度遍历算法并加以测试。注意正确使用队列存储结构。输入格式第一行:输入0到3之间整数(有向图:0,有向网:1,无向图:2,无向网:3);第二行:输入顶点数和边数;第三行:输入各个顶点的值(字符型,长度〈3);(遍历从输入的第一个顶点开始)第
2021-06-08 22:22:43
658
原创 8584 循环队列的基本操作
总目录原题描述题目分析代码原题描述时间限制:1000MS 代码长度限制:10KB提交次数:3772 通过次数:1884题型: 编程题 语言: G++;GCCDescription 创建一个空的循环队列,并实现入队、出队、返回队列的长度、返回队头元素、队列的遍历等基本算法。请将下面的程序补充完整。#include<malloc.h>#include<stdio.h>#define OK 1#define ERROR 0typedef int Status; /
2021-06-07 21:47:14
174
原创 8648 图的深度遍历(用vector模拟创建邻接表)
8648 图的深度遍历原题描述题目分析代码原题描述时间限制:1000MS 代码长度限制:10KB提交次数:1821 通过次数:1037题型: 编程题 语言: G++;GCCDescription 实现图的邻接表存储结构及一些基本操作函数。在此基础上实现图的深度遍历算法并加以测试。本题只给出部分代码,请补全内容。#include"string.h"#include"malloc.h" /* malloc()等 /#include"stdio.h" / EOF(=^Z或F6),NULL /
2021-06-07 15:49:30
506
原创 18770 差值最大(贪心)
Description一个长度为N的整数序列,找出两个数x和y使x-y的值最大。要求在序列中x必须在y的右侧。输入格式第一行是一个正整数N,表示了序列的长度(0<=N<=200000)。第二行包含N个绝对值不大于10000的整数ai。输出格式一个整数,为最大的差值。数据确保结果在类型int范围内。输入样例74 -4 3 -1 2 -4 3输出样例7#include <iostream>using namespace std;int main(){
2021-04-10 19:11:38
1067
1
原创 18928 递归实现全排列(递归回溯法)
Description把 1至n 这 n 个整数排成一行后随机打乱顺序,输出所有可能的次序。输入格式一个整数n。(1<=n<=9)输出格式按照从小到大的顺序输出所有方案,每行一个方案。同一行相邻两个数用一个空格隔开。对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面。输入样例3输出样例1 2 31 3 22 1 32 3 13 1 23 2 1#include <iostream>using namespace std;int ans
2021-04-07 11:27:08
484
原创 18712 递归实现组合
Description找出从自然数1、2、……、m中任取k个数的所有组合,组合中字典序大的先输出。例如m=5,k=3,应输出1 2 31 2 41 2 51 3 41 3 51 4 52 3 42 3 52 4 53 4 5输入格式两个整数m和k,(1<=k<=m<=10)输出格式正序输出所有组合#include <iostream>using namespace std;int ans[105],n,m;//n是总共多少个数,m是要取多
2021-04-06 13:04:48
410
原创 18052 插入数据
插入数据Description已经有一个按升序排列的数组,编写程序输入一个整数x,把x插入到数组中,使数组仍然保持升序。数组如下:2 3 5 7 11 13 17 23 29 31 34 71 79 97 103#include <stdio.h>int a[16]={2, 3, 5, 7, 11, 13, 17, 23, 29, 31, 34, 71, 79, 97, 103};void display(){int i;for(i=0; i<16; i++) pr.
2021-01-09 15:48:31
510
原创 插入排序
仅以此专栏,收藏一些见过的写过的特殊的代码思路:新建一个空链表,将原无序链表的结点一个个拆下来,放入新链表中进行排序题目:下面程序,先创建一个链表(链表中各结点未按学号由小到大排序),然后调用sort函数,将链表中各结点按学号由小到大排序输入样例3 (the 1st linked list, 2 students)1 (code of no.1 student)98 (score of no.1 student)7 (code of no.2 student)99 (sc
2021-01-02 18:47:49
137
原创 找矩阵中的鞍点
1051 找矩阵中的鞍点Description由键盘输入一个3*4(3行4列)的矩阵,输出矩阵中的鞍点(即在矩阵行中最大,列中最小的数)。若没有鞍点,输出“NO”字样。输入样例87 90 110 9870 97 210 6598 45 120 30输出样例110代码如下:#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){ int a[3
2020-11-29 19:10:19
5905
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人