
C++刷题
zoe_ya
掘金:https://juejin.cn/user/3433090584946360
github: https://github.com/yangzi0210
展开
-
7-17 敲笨钟 (20 分)C++ string容器实现
**7-17 敲笨钟 (20 分)**微博上有个自称“大笨钟V”的家伙,每天敲钟催促码农们爱惜身体早点睡觉。为了增加敲钟的趣味性,还会糟改几句古诗词。其糟改的方法为:去网上搜寻压“ong”韵的古诗词,把句尾的三个字换成“敲笨钟”。例如唐代诗人李贺有名句曰:“寻章摘句老雕虫,晓月当帘挂玉弓”,其中“虫”(chong)和“弓”(gong)都压了“ong”韵。于是这句诗就被糟改为“寻章摘句老雕虫,晓月当帘敲笨钟”。现在给你一大堆古诗词句,要求你写个程序自动将压“ong”韵的句子糟改成“敲笨钟”。输入格式原创 2021-04-03 16:20:04 · 324 阅读 · 0 评论 -
7-15 连续因子 (20 分)
**7-15 连续因子 (20 分)**一个正整数 N 的因子中可能存在若干连续的数字。例如 630 可以分解为 3×5×6×7,其中 5、6、7 就是 3 个连续的数字。给定任一正整数 N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列。输入格式:输入在一行中给出一个正整数 N(1<N<231 )。输出格式:首先在第 1 行输出最长连续因子的个数;然后在第 2 行中按 因子1因子2……*因子k 的格式输出最小的连续因子序列,其中因子按递增顺序输出,1 不算原创 2021-04-03 16:16:25 · 407 阅读 · 0 评论 -
7-14 考试座位号 (15 分)C++
**7-14 考试座位号 (15 分)**每个 PAT 考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位。正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座位就座。但有些考生迟到了,试机已经结束,他们只能拿着领到的试机座位号码求助于你,从后台查出他们的考试座位号码。输入格式:输入第一行给出一个正整数 N(≤1000),随后 N 行,每行给出一个考生的信息:准考证号 试机座位号 考试座位号。其中准考证号由 16原创 2021-03-31 19:20:43 · 302 阅读 · 1 评论 -
7-13 古风排版 (20 分)
**7-13 古风排版 (20 分)**中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。输入格式:输入在第一行给出一个正整数N(<100),是每一列的字符数。第二行给出一个长度不超过1000的非空字符串,以回车结束。输出格式:按古风格式排版给定的字符串,每列N个字符(除了最后一列可能不足N个)。输入样例:4This is a test case输出样例:#include <iostream>#include <string原创 2021-03-31 19:18:30 · 591 阅读 · 0 评论 -
7-9 猴子选大王 (20 分)
**7-9 猴子选大王 (20 分)**一群猴子要选新猴王。新猴王的选择方法是:让N只候选猴子围成一圈,从某位置起顺序编号为1~N号。从第1号开始报数,每轮从1报到3,凡报到3的猴子即退出圈子,接着又从紧邻的下一只猴子开始同样的报数。如此不断循环,最后剩下的一只猴子就选为猴王。请问是原来第几号猴子当选猴王?输入格式:输入在一行中给一个正整数N(≤1000)。输出格式:在一行中输出当选猴王的编号。输入样例:11输出样例:7代码及注释:#include<iostream>原创 2021-03-31 16:52:44 · 215 阅读 · 0 评论 -
7-6 螺旋方阵 (20 分)
**7-6 螺旋方阵 (20 分)**所谓“螺旋方阵”,是指对任意给定的N,将1到N×N的数字从左上角第1个格子开始,按顺时针螺旋方向顺序填入N×N的方阵里。本题要求构造这样的螺旋方阵。输入格式:输入在一行中给出一个正整数N(<10)。输出格式:输出N×N的螺旋方阵。每行N个数字,每个数字占3位。输入样例:5输出样例:1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 813 12 11 10 9代码及注原创 2021-03-31 16:46:09 · 751 阅读 · 0 评论 -
7-5 黑洞数 (20 分)
**7-5 黑洞数 (20 分)**黑洞数也称为陷阱数,又称“Kaprekar问题”,是一类具有奇特转换特性的数。任何一个各位数字不全相同的三位数,经有限次“重排求差”操作,总会得到495。最后所得的495即为三位黑洞数。所谓“重排求差”操作即组成该数的数字重排后的最大数减去重排后的最小数。(6174为四位黑洞数。)例如,对三位数207:第1次重排求差得:720 - 27 = 693;第2次重排求差得:963 - 369 = 594;第3次重排求差得:954 - 459 = 495;以后会原创 2021-03-31 16:16:58 · 322 阅读 · 0 评论 -
7-4 高空坠球 (20 分)
7-4 高空坠球 (20 分)皮球从某给定高度自由落下,触地后反弹到原高度的一半,再落下,再反弹,……,如此反复。问皮球在第n次落地时,在空中一共经过多少距离?第n次反弹的高度是多少?输入格式:输入在一行中给出两个非负整数,分别是皮球的初始高度和n,均在长整型范围内。输出格式:在一行中顺序输出皮球第n次落地时在空中经过的距离、以及第n次反弹的高度,其间以一个空格分隔,保留一位小数。题目保证计算结果不超过双精度范围。输入样例:33 5输出样例:94.9 1.0代码及注释`#include原创 2021-03-31 16:14:17 · 534 阅读 · 0 评论 -
7-3 换硬币 (20 分) C++实现
**7-3 换硬币 (20 分)**将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?输入格式:输入在一行中给出待换的零钱数额x∈(8,100)。输出格式:要求按5分、2分和1分硬币的数量依次从大到小的顺序,输出各种换法。每行输出一种换法,格式为:“fen5:5分硬币数量, fen2:2分硬币数量, fen1:1分硬币数量, total:硬币总数量”。最后一行输出“count = 换法个数”。输入样例:13输出样例:fen5:2, fen2:1, fen1原创 2021-03-31 16:04:10 · 1927 阅读 · 0 评论 -
7-1 打印沙漏 (20 分) C++实现
**7-1 打印沙漏 (20 分)**本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。输入格式:输入在一行给出1个正整数N(≤1000)和一个符号,中间以空格分隔。输出格式:首先打印出由给定符号组成的最大的沙漏形状,最后在一原创 2021-03-31 15:59:37 · 838 阅读 · 0 评论 -
## 7-25 矩阵A乘以B (15 分)
7-25 矩阵A乘以B (15 分)给定两个矩阵A和B,要求你计算它们的乘积矩阵AB。需要注意的是,只有规模匹配的矩阵才可以相乘。即若A有Ra 行、Ca 列,B有Rb 行、Cb 列,则只有Ca 与Rb 相等时,两个矩阵才能相乘。输入格式:输入先后给出两个矩阵A和B。对于每个矩阵,首先在一行中给出其行数R和列数C,随后R行,每行给出C个整数,以1个空格分隔,且行首尾没有多余的空格。输入保证两个矩阵的R和C都是正数,并且所有整数的绝对值不超过10原创 2021-03-25 16:55:32 · 279 阅读 · 0 评论 -
7-7 计算天数 (15 分) C++实现
7-7 计算天数 (15 分)本题要求编写程序计算某年某月某日是该年中的第几天。输入格式:输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。输出格式:在一行输出日期是该年中的第几天。输入样例1:2009/03/02输出样例1:61输入样例2:2000/03/02输出样例2:62#include<iostream>#include<arra原创 2021-03-25 16:44:27 · 1577 阅读 · 0 评论 -
7-6 猴子吃桃问题 (15 分)(递归实现)
**7-6 猴子吃桃问题 (15 分)**一只猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个;第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半加一个。到第N天早上想再吃时,见只剩下一个桃子了。问:第一天共摘了多少个桃子?输入格式:输入在一行中给出正整数N(1<N≤10)。输出格式:在一行中输出第一天共摘了多少个桃子。输入样例:3输出样例:10#include<iostream>using namespace std原创 2021-03-25 16:43:13 · 1420 阅读 · 0 评论 -
2021-03-25
**7-5 统计素数并求和 (20 分)**本题要求统计给定整数M和N区间内素数的个数并对它们求和。输入格式:输入在一行中给出两个正整数M和N(1≤M≤N≤500)。输出格式:在一行中顺序输出M和N区间内素数的个数以及它们的和,数字间以空格分隔。输入样例:10 31输出样例:7 143#include<iostream>#include<cmath>using namespace std;int judge(int x) { if(x==1) ret原创 2021-03-25 16:41:32 · 96 阅读 · 0 评论 -
基础题刷题心得与总结(附题目解答/c++实现)
基础题刷题心得与总结(附题目解答/c++实现)简介因为想参加学习的蓝桥杯比赛,自己在有在自学C++,虽然现在水平还是菜鸟,但也想记录下刷题的过程,代码完全使用C++,包括输入输出等可以说是全使用C++,尽管有些用C语言更简便,但还是个人更喜欢全用一种语言,因此所有代码从头到尾只有C++。由于写算法题是STL还在学习中,所以一些容器的调用没有很顺畅,没有起到简化代码的作用。题目列表及代码:我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点原创 2021-03-14 20:16:49 · 289 阅读 · 0 评论