![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
NKW
写Bug的小廉
这个作者很懒,什么都没留下…
展开
-
判断数字位置
题目描述根据输入的字符串判断字符串中数字的位置。输入描述:输入第一行表示测试用例的个数m,接下来m行每行以个字符串,字符串长度不超过50。输出描述:输出m行。每行输出一行数字,用空格隔开,按顺序表示字符串中出现的数字的位置。示例1输入1a3b4c5输出2 4 6代码:#include<stdio.h>#include<math.h>#include<algorithm>#include<string.h>#include<原创 2020-05-20 23:35:33 · 621 阅读 · 0 评论 -
复数
题目描述编写一个复数类,有构造函数,能对复数初始化;重载加法操作符并按a+bi 的形式输出。输入描述:输入第一行表示测试用例的个数m,接下来m行每行有4个用空格隔开的整数,分别表示2个复数的实部和虚部。输出描述:输出m行。按a+bi或者a-bi的格式输出,表示两个复数相加的和。示例1输入13 4 1 -2输出4+2i备注:注意虚部为负数时的输出。代码#include<stdio.h>#include<math.h>#include<algori原创 2020-05-20 23:34:40 · 340 阅读 · 0 评论 -
日期类
题目描述编写一个日期类,要求按xxxx-xx-xx 的格式输出日期,实现加一天的操作。输入描述:输入第一行表示测试用例的个数m,接下来m行每行有3个用空格隔开的整数,分别表示年月日。测试数据不会有闰年。输出描述:输出m行。按xxxx-xx-xx的格式输出,表示输入日期的后一天的日期。示例1输入21999 10 202001 1 31输出1999-10-212001-02-01备注:注意个位数日期前面要有0代码:#include<stdio.h>#include原创 2020-05-20 23:33:10 · 313 阅读 · 0 评论 -
一元二次方程
题目描述建立一个求一元二次方程解的类(ax2+bx+c=0),输入系数a,b,c 的值后打印出这个方程的解。输入描述:输入第一行为样例数m,接下来m行每行3个整数a、b、c。输出描述:输出m行,要求格式如下:若无解则输出-1,若有单解则输出x=…,若有两解则输出x1=…,x2=…,具体参见样例,保留小数点后两位。示例1输入31 -3 21 -2 12 1 2输出x1=1.00,x2=2.00x=1.00-1备注:注意a为0的情况。代码:#include <stdi原创 2020-05-20 23:31:40 · 413 阅读 · 0 评论 -
计算天数
题目描述输入年月日,计算该填是本年的第几天。例如1990 年9 月20 日是1990 年的第263 天,2000 年5 月1 日是2000 年第122 天。输入描述:输入第一行为样例数m,接下来m行每行3个整数分别表示年月日。输出描述:输出m行分别表示题目所求。示例1输入21990 9 202000 5 1输出263122备注:提示:闰年:能被400 正除,或能被4 整除但不能被100整除。每年1、3、5、7、8、10 、12为大月代码:#include<stdio.原创 2020-05-20 23:30:13 · 194 阅读 · 0 评论 -
球的计算
题目描述输入球的中心点和球上某一点的坐标,计算球的半径和体积。输入描述:输入第一行为样例数m,接下来m行每行6个整数,分别表示球心和球上一点的坐标。输出描述:输出m行,每行2个浮点数分别表示球的半径和体积,保留到小数点后两位。示例1输入10 0 0 1 0 0输出1.00 4.19题目解析://输入球的中心点和球上某一点的坐标,计算球的半径和体积。//输入第一行为样例数m,接下来m行每行6个整数,分别表示球心和球上一点的坐标。//输出m行,每行2个浮点数分别表示球的半径和体积,保原创 2020-05-20 23:28:30 · 920 阅读 · 0 评论 -
围圈报数
题目描述N 个人围成一圈顺序编号,从1 号开始按1、2、3 顺序报数,报3 者退出圈外,其余的人再从1、2、3 开始报数,报3 的人再退出圈外,依次类推。请按退出顺序输出每个退出人的原序号。要求使用环行链表编程。输入描述:输入第一行为整数m表示有m组测试数据,接下来m行每行一个整数N,N不超过50。输出描述:输出m行,每行表示题目所求,用空格隔开。示例1输入14输出3 2 4 1题目解析:可以使用队列,队列特征先进先出。先出队,如果报的不是3,入队,如此以复,直至最后队列中只有一个数原创 2020-05-20 23:26:48 · 608 阅读 · 0 评论 -
整数和
题目描述编写程序,读入一个整数N。若N为非负数,则计算N 到2N 之间的整数和;若N为一个负数,则求2N 到N 之间的整数和。输入描述:第一行表示样例数m,接下来m行每行一个整数N,N的绝对值不超过100。输出描述:输出m行,每行表示对应的题目所求。示例1输入22-1输出9-3备注:注意N可能为负数代码:#include<stdio.h>#include<math.h>#include<algorithm>#include<s原创 2020-05-20 23:24:14 · 396 阅读 · 0 评论 -
分段函数
题目描述编写程序,计算下列分段函数y=f(x)的值。当 0<= x <2,y= -x+2.5;当 2<= x <4,y=2-1.5(x-3)(x-3);当 4<= x <6,y=x/2-1.5;输入描述:输入第一行为整数m表示样例数,接下来有m行每行一个整数x。输出描述:输出m行分别表示对应的y值,保留小数点后一位小数。示例1输入213输出y=1.5y=2.0代码:#include<stdio.h>#include<原创 2020-05-20 23:22:03 · 2140 阅读 · 0 评论 -
进制转换(不限制输入输出进制)
题目描述将M进制的数X转换为N进制的数输出。输入描述:输入的第一行包括两个整数:M和N(2<=M,N<=36)。下面的一行输入一个数X,X是M进制的数,现在要求你将M进制的数X转换成N进制的数输出。输出描述:输出X的N进制表示的数。示例1输入10 211输出1011代码:#include<stdio.h>#include<math.h>#include<algorithm>#include<string.h>#i原创 2020-05-20 23:16:17 · 166 阅读 · 0 评论 -
第二题
题目描述一个数组中有若干正整数,将此数组划分为两个子数组,使得两个子数组各元素之和a,b的差最小,对于非法输入应该输出ERROR。输入描述:数组中的元素输出描述:降序输出两个子数组的元素和示例1输入复制10 20 30 10 1010 20 abc 10 10输出复制40 40ERROR代码:#include<stdio.h>#include<math.h>#include<algorithm>#include<string.h原创 2020-05-20 23:12:50 · 290 阅读 · 0 评论 -
八进制
题目描述输入一个整数,将其转换成八进制数输出。输入描述:输入包括一个整数N(0<=N<=100000)。输出描述:可能有多组测试数据,对于每组数据,输出N的八进制表示数。示例1输入789输出71011代码:#include<stdio.h>#include<math.h>#include<algorithm>#include<string.h>#include<iostream>#includ原创 2020-05-20 23:11:01 · 1070 阅读 · 0 评论 -
找位置
题目描述对给定的一个字符串,找出有重复的字符,并给出其位置,如:abcaaAB12ab12 输出:a,1;a,4;a,5;a,10,b,2;b,11,1,8;1,12, 2,9;2,13。输入描述:输入包括一个由字母和数字组成的字符串,其长度不超过100。输出描述:可能有多组测试数据,对于每组数据,按照样例输出的格式将字符出现的位置标出。1、下标从0开始。2、相同的字母在一行表示出其出现过的位置。示例1输入abcaaAB12ab12输出a:0,a:3,a:4,a:9b:1,b:1原创 2020-05-20 23:09:35 · 191 阅读 · 0 评论 -
N阶楼梯上楼问题
题目描述N阶楼梯上楼问题:一次可以走两阶或一阶,问有多少种上楼方式。(要求采用非递归)输入描述:输入包括一个整数N,(1<=N<90)。输出描述:可能有多组测试数据,对于每组数据,输出当楼梯阶数是N时的上楼方式个数。示例1输入4输出5题目解析:简单的动态规划问题代码:#include<stdio.h>#include<math.h>#include<algorithm>#include<string.h>#inc原创 2020-05-20 23:04:09 · 435 阅读 · 0 评论 -
大整数排序
题目描述对N个长度最长可达到1000的数进行排序。输入描述:输入第一行为一个整数N,(1<=N<=100)。接下来的N行每行有一个数,数的长度范围为1<=len<=1000。每个数都是一个正数,并且保证不包含前缀零。输出描述:可能有多组测试数据,对于每组数据,将给出的N个数从小到大进行排序,输出排序后的结果,每个数占一行。示例1输入3111111111111111111111111111112222222222222222222222222222222222原创 2020-05-20 23:02:32 · 143 阅读 · 0 评论 -
考研机试真题代码与分析
最近在搞复试,但是没有上机,准备了很久也没有用了,所以将自己做过的题进行个总结和整理,希望对大家有用。牛客网OJ平台:https://www.nowcoder.com/ta/kaoyan代码传送门:1,成绩排序2,原创 2020-05-20 22:58:36 · 374 阅读 · 0 评论 -
二叉排序树(前中后输出)
题目描述输入一系列整数,建立二叉排序树,并进行前序,中序,后序遍历。输入描述:输入第一行包括一个整数n(1<=n<=100)。接下来的一行包括n个整数。输出描述:可能有多组测试数据,对于每组数据,将题目所给数据建立一个二叉排序树,并对二叉排序树进行前序、中序和后序遍历。每种遍历结果输出一行。每行最后一个数据之后有一个空格。输入中可能有重复元素,但是输出的二叉树遍历序列中重复元素不用输出。示例1输入51 6 5 9 8输出1 6 5 9 81 5 6 8 95 8原创 2020-05-20 18:10:01 · 394 阅读 · 0 评论 -
打印日期
题目描述给出年分m和一年中的第n天,算出第n天是几月几号。输入描述:输入包括两个整数y(1<=y<=3000),n(1<=n<=366)。输出描述:可能有多组测试数据,对于每组数据,按 yyyy-mm-dd的格式将输入中对应的日期打印出来。示例1输入2000 32000 312000 402000 602000 612001 60输出2000-01-032000-01-312000-02-092000-02-292000-03-012001-原创 2020-05-20 18:02:31 · 132 阅读 · 0 评论 -
A+B
题目描述给定两个整数A和B,其表示形式是:从个位开始,每三位数用逗号","隔开。 现在请计算A+B的结果,并以正常形式输出。输入描述:输入包含多组数据数据,每组数据占一行,由两个整数A和B组成(-10^9 < A,B < 10^9)。输出描述:请计算A+B的结果,并以正常形式输出,每组数据占一行。示例1输入-234,567,890 123,456,7891,234 2,345,678输出-1111111012346912题目解析:首先提取出原数,注意提取符号正反,然后求原创 2020-05-20 18:01:30 · 207 阅读 · 0 评论 -
对称矩阵
题目描述输入一个N维矩阵,判断是否对称。输入描述:输入第一行包括一个数:N(1<=N<=100),表示矩阵的维数。接下来的N行,每行包括N个数,表示N*N矩阵的元素。输出描述:可能有多组测试数据,对于每组数据,输出"Yes!”表示矩阵为对称矩阵。输出"No!”表示矩阵不是对称矩阵。示例1输入416 19 16 619 16 14 516 14 16 36 5 3 1621 23 4输出Yes!No!代码:#include<stdio.h>原创 2020-05-20 17:58:47 · 1000 阅读 · 0 评论 -
矩阵最大值
题目描述编写一个程序输入一个mXn的矩阵存储并输出,并且求出每行的最大值和每行的总和。 要求把每行总和放入每行最大值的位置,如果有多个最大值,取下标值最小的那一个作为最大值。 最后将结果矩阵输出。输入描述:输入的第一行包括两个整数m和n(1<=m,n<=100),分别代表矩阵的行和列的维数。接下来的m行每行有n个数,代表矩阵的元素。输出描述:可能有多组测试数据,对于每组数据,输出按题目要求执行后的矩阵。示例1输入3 31 1 11 1 11 1 13 33 2 32原创 2020-05-20 17:57:38 · 1412 阅读 · 0 评论 -
守形数
题目描述守形数是这样一种整数,它的平方的低位部分等于它本身。 比如25的平方是625,低位部分是25,因此25是一个守形数。 编一个程序,判断N是否为守形数。输入描述:输入包括1个整数N,2<=N<100。输出描述:可能有多组测试数据,对于每组数据,输出"Yes!”表示N是守形数。输出"No!”表示N不是守形数。示例1输入254输出Yes!No!代码:#include<stdio.h>#include<math.h>#include&l原创 2020-05-20 17:56:12 · 367 阅读 · 0 评论 -
最大的两个数
题目描述输入一个四行五列的矩阵,找出每列最大的两个数。输入描述:接下来的四行每行包括五个整数。代表一个四行五列的矩阵,矩阵元素全部是整数。输出描述:可能有多组测试数据,对于每组数据,按照样例输出的格式将每列最大的两个数输出,如果最大的两个数中的一个数在这一列中有多个相同的值,则行值取行值小的那一个。输出时要保留原矩阵的行列顺序,即在原矩阵中行值小的,在输出矩阵中的行值依然小。示例1输入11 2 4 9 8-1 4 9 8 812 9 8 7 07 8原创 2020-05-20 17:54:59 · 295 阅读 · 0 评论 -
奇偶校验
题目描述输入一个字符串,然后对每个字符进行奇校验,最后输出校验后的二进制数(如’3’,输出:10110011)。输入描述:输入包括一个字符串,字符串长度不超过100。输出描述:可能有多组测试数据,对于每组数据,对于字符串中的每一个字符,输出按题目进行奇偶校验后的数,每个字符校验的结果占一行。示例1输入33a输出101100111011001101100001题目解析:3是使用7位ascaii码表示,使用第八位进行奇偶设置代码:#include<stdio.h>原创 2020-05-20 17:52:39 · 438 阅读 · 0 评论 -
二叉树遍历(后序输出)
题目描述二叉树的前序、中序、后序遍历的定义: 前序遍历:对任一子树,先访问跟,然后遍历其左子树,最后遍历其右子树; 中序遍历:对任一子树,先遍历其左子树,然后访问根,最后遍历其右子树; 后序遍历:对任一子树,先遍历其左子树,然后遍历其右子树,最后访问根。 给定一棵二叉树的前序遍历和中序遍历,求其后序遍历(提示:给定前序遍历与中序遍历能够唯一确定后序遍历)。输入描述:两个字符串,其长度n均小于等于26。第一行为前序遍历,第二行为中序遍历。二叉树中的结点名称以大写字母表示:A,B,C…最多26个结点。原创 2020-05-20 17:50:23 · 1387 阅读 · 0 评论 -
a+b
题目描述实现一个加法器,使其能够输出a+b的值。输入描述:输入包括两个数a和b,其中a和b的位数不超过1000位。输出描述:可能有多组测试数据,对于每组数据,输出a+b的值。示例1输入2 610000000000000000000 10000000000000000000000000000000输出810000000000010000000000000000000题目解析:使用字符串表示两个数,要使两个数的长度相等,进行补0代码:#include<stdio.h>原创 2020-05-20 17:47:18 · 211 阅读 · 0 评论 -
二叉排序树(输出每个节点的父节点)
题目描述二叉排序树,也称为二叉查找树。可以是一颗空树,也可以是一颗具有如下特性的非空二叉树: 1. 若左子树非空,则左子树上所有节点关键字值均不大于根节点的关键字值; 2. 若右子树非空,则右子树上所有节点关键字值均不小于根节点的关键字值; 3. 左、右子树本身也是一颗二叉排序树。 现在给你N个关键字值各不相同的节点,要求你按顺序插入一个初始为空树的二叉排序树中,每次插入后成功后,求相应的父亲节点的关键字值,如果没有父亲节点,则输出-1。输入描述:输入包含多组测试数据,每组测试数据两行。第一行,一个原创 2020-05-20 17:42:57 · 700 阅读 · 0 评论 -
矩阵转置
题目描述输入一个N*N的矩阵,将其转置后输出。要求:不得使用任何数组(就地逆置)。输入描述:输入的第一行包括一个整数N,(1<=N<=100),代表矩阵的维数。接下来的N行每行有N个整数,分别代表矩阵的元素。输出描述:可能有多组测试数据,对于每组数据,将输入的矩阵转置后输出。示例1输入31 2 34 5 67 8 9输出1 4 72 5 83 6 9题目解析:转置,行变成列,列变成行代码:#include<stdio.h>#include<原创 2020-05-20 17:36:19 · 309 阅读 · 0 评论 -
杨辉三角形
题目描述输入n值,使用递归函数,求杨辉三角形中各个位置上的值。输入描述:一个大于等于2的整型数n输出描述:题目可能有多组不同的测试数据,对于每组输入数据,按题目的要求输出相应输入n的杨辉三角形。示例1输入6输出11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1题目解析:杨辉三角行每一行的开头和结尾都是1,中间数字的是上一行从左开始两个数的和。代码:#include<stdio.h>#include<math.h>#i原创 2020-05-20 17:35:03 · 634 阅读 · 0 评论 -
求两个多项式的和
题目描述输入两个多项式,计算它们的和。 每个多项式有若干对整数表示,每组整数中,第一个整数表示系数(非0),第二个整数表示该项的次数。 如由3 3 5 -2 1 4 0表示3x^5 - 2 * x + 4其中第一个3表示该多项式由三个整数对表示。输入描述:输入为两行,分别表示两个多项式。表示每项的整数对按照次数大小降序给出。(次数绝对值小于1000,系数绝对值小于10000)输出描述:按照降次顺序输出表示和多项式的整数对(系数为0的整数对不用输出,整数对由空格分隔,最后一个整数对后不添加空格)示原创 2020-05-20 17:32:17 · 1398 阅读 · 0 评论 -
复数集合
题目描述一个复数(x+iy)集合,两种操作作用在该集合上: 1、Pop 表示读出集合中复数模值最大的那个复数,如集合为空 输出 empty ,不为空就输出最大的那个复数并且从集合中删除那个复数,再输出集合的大小SIZE; 2 Insert a+ib 指令(a,b表示实部和虚部),将a+ib加入到集合中 ,输出集合的大小SIZE; 最开始要读入一个int n,表示接下来的n行每一行都是一条命令。输入描述:输入有多组数据。每组输入一个n(1<=n<=1000),原创 2020-05-20 17:24:35 · 997 阅读 · 0 评论 -
查找
题目描述读入一组字符串(待操作的),再读入一个int n记录记下来有几条命令,总共有2中命令:1、翻转 从下标为i的字符开始到i+len-1之间的字符串倒序;2、替换 命中如果第一位为1,用命令的第四位开始到最后的字符串替换原读入的字符串下标 i 到 i+len-1的字符串。每次执行一条命令后新的字符串代替旧的字符串(即下一条命令在作用在得到的新字符串上)。 命令格式:第一位0代表翻转,1代表替换;第二位代表待操作的字符串的起始下标int i;第三位表示需要操作的字符串长度int len。输原创 2020-05-20 17:20:16 · 145 阅读 · 0 评论 -
打牌
题目描述牌只有1到9,手里拿着已经排好序的牌a,对方出牌b,用程序判断手中牌是否能够压过对方出牌。 规则:出牌牌型有5种 [1]一张 如4 则5…9可压过 [2]两张 如44 则55,66,77,…,99可压过 [3]三张 如444 规则如[2] [4]四张 如4444 规则如[2] [5]五张 牌型只有12345 23456 34567 45678 56789五个,后面的比前面的均大。输入描述:输入有多组数据。每组输入两个字符串(字符串大小不超过100)a,b。a字符串代表手中牌,b字符串代原创 2020-05-20 17:15:09 · 444 阅读 · 0 评论 -
矩阵幂
题目描述给定一个n*n的矩阵,求该矩阵的k次幂,即P^k。输入描述:第一行:两个整数n(2<=n<=10)、k(1<=k<=5),两个数字之间用一个空格隔开,含义如上所示。接下来有n行,每行n个正整数,其中,第i行第j个整数表示矩阵中第i行第j列的矩阵元素Pij且(0<=Pij<=10)。另外,数据保证最后结果不会超过10^8。输出描述:对于每组测试数据,输出其结果。格式为:n行n列个整数,每行数之间用空格隔开,注意,每行最后一个数后面不应该有多余的空格。原创 2020-05-20 17:13:09 · 464 阅读 · 0 评论 -
查找第k个小数
题目描述查找一个数组的第K小的数,注意同样大小算一样大。 如 2 1 3 4 5 2 第三小数为3。输入描述:输入有多组数据。每组输入n,然后输入n个整数(1<=n<=1000),再输入k。输出描述:输出第k小的整数。示例1输入复制62 1 3 5 2 23输出复制3题目解析:需要去重,然后查看第k个小数,set和map都可以去重代码:#include<stdio.h>#include<math.h>#include<alg原创 2020-05-20 17:10:09 · 216 阅读 · 0 评论 -
字符串正则匹配
题目描述读入数据string[ ],然后读入一个短字符串。要求查找string[ ]中和短字符串的所有匹配,输出行号、匹配字符串。匹配时不区分大小写,并且可以有一个用中括号表示的模式匹配。如“aa[123]bb”,就是说aa1bb、aa2bb、aa3bb都算匹配。输入描述:输入有多组数据。每组数据第一行输入n(1<=n<=1000),从第二行开始输入n个字符串(不含空格),接下来输入一个匹配字符串。输出描述:输出匹配到的字符串的行号和该字符串(匹配时不区分大小写)。示例1输入4原创 2020-05-20 17:05:05 · 524 阅读 · 0 评论 -
旋转矩阵
题目描述任意输入两个9阶以下矩阵,要求判断第二个是否是第一个的旋转矩阵,如果是,输出旋转角度(0、90、180、270),如果不是,输出-1。 要求先输入矩阵阶数,然后输入两个矩阵,每行两个数之间可以用任意个空格分隔。行之间用回车分隔,两个矩阵间用任意的回车分隔。输入描述:输入有多组数据。每组数据第一行输入n(1<=n<=9),从第二行开始输入两个n阶矩阵。输出描述:判断第二个是否是第一个的旋转矩阵,如果是,输出旋转角度(0、90、180、270),如果不是,输出-1。如果旋转角度原创 2020-05-20 17:03:18 · 410 阅读 · 0 评论 -
c翻转
题目描述首先输入一个5 * 5的数组,然后输入一行,这一行有四个数,前两个代表操作类型,后两个数x y代表需操作数据为以x y为左上角的那几个数据。 操作类型有四种: 1 2 表示:90度,顺时针,翻转4个数 1 3 表示:90度,顺时针,翻转9个数 2 2 表示:90度,逆时针,翻转4个数 2 3 表示:90度,逆时针,翻转9个数输入描述:输入有多组数据。每组输入一个5 * 5的数组,然后输入一行,这一行有四个数,前两个代表操作类型,后两个数x y代表需操作数据为以x y为左上角的那几个数原创 2020-05-20 17:01:20 · 449 阅读 · 0 评论 -
堆栈的使用
题目描述堆栈是一种基本的数据结构。堆栈具有两种基本操作方式,push 和 pop。Push一个值会将其压入栈顶,而 pop 则会将栈顶的值弹出。现在我们就来验证一下堆栈的使用。输入描述:对于每组测试数据,第一行是一个正整数 n,0<n<=10000(n=0 结束)。而后的 n 行,每行的第一个字符可能是’P’或者’O’或者’A’;如果是’P’,后面还会跟着一个整数,表示把这个数据压入堆栈;如果是’O’,表示将栈顶的值 pop 出来,如果堆栈中没有元素时,忽略本次操作;如果是’A’,表示询问原创 2020-05-20 16:57:30 · 3618 阅读 · 0 评论 -
平方因子
题目描述给定一个数n,判定它是否有一个不为1的完全平方数因子。也就是说,是否存在某个k,k>1,使得k*k能够整除n。输入描述:每行一个整数n,1<n<10000输出描述:对于每一个输入的整数,在单独的一行输出结果,如果有不为1的完全平方数因子,则输出Yes,否则输出No。请注意大小写。示例1输入15120输出NoYes代码:#include<stdio.h>#include<math.h>#include<algorithm原创 2020-05-20 16:52:11 · 2070 阅读 · 0 评论