
PTA_c++
用c++实现编程题中的一些小知识
上大厂的岸
我要全力以赴好好学习
展开
-
27. 移除元素
给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如下:// nums 是以“引用”方式传递的。也就是说,不对实参作任何拷贝int l原创 2023-09-26 22:08:45 · 206 阅读 · 0 评论 -
7-17 字符串排序
输入为由空格分隔的5个非空字符串,每个字符串不包括空格、制表符、换行符等空白字符,长度小于80。本题要求编写程序,读入5个字符串,按由小到大的顺序输出。原创 2023-09-14 17:32:05 · 117 阅读 · 0 评论 -
7-16 选择法排序
本题要求将给定的n个整数从大到小排序后输出。原创 2023-09-14 17:31:03 · 76 阅读 · 0 评论 -
7-15 求矩阵的局部极大值
每行按照“元素值 行号 列号”的格式输出一个局部极大值,其中行、列编号从1开始。要求按照行号递增输出;若同行有超过1个局部极大值,则该行按列号递增输出。若没有局部极大值,则输出“None 总行数 总列数”。输入在第一行中给出矩阵A的行数M和列数N(3≤M,N≤20);最后M行,每行给出A在该行的N个元素的值。原创 2023-09-14 17:29:38 · 141 阅读 · 0 评论 -
7-14 求一批整数中出现最多的个位数字
给定一批整数,分析每个整数的每一位数字,求出现次数最多的个位数字。例如给定3个整数1234、2345、3456,其中出现最多次数的数字是3和4,均出现了3次。原创 2023-09-14 17:27:49 · 112 阅读 · 0 评论 -
7-13 计算圆周率
在一行中输出满足阈值条件的近似圆周率,输出到小数点后6位。输入在一行中给出小于1的阈值。原创 2023-09-14 17:05:50 · 222 阅读 · 0 评论 -
7-10 简单计算器
模拟简单运算器的工作。假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算。原创 2023-09-14 16:08:22 · 152 阅读 · 0 评论 -
7-9 换硬币
将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?原创 2023-09-14 16:03:20 · 118 阅读 · 0 评论 -
7-8 输出整数各位数字
本题要求编写程序,对输入的一个整数,从高位开始逐位分割并输出它的各位数字。原创 2023-09-14 15:41:48 · 98 阅读 · 0 评论 -
7-7 通讯录的录入与显示
通讯录中的一条记录包含下述基本信息:朋友的姓名、出生日期、性别、固定电话号码、移动电话号码。本题要求编写程序,录入N条记录,并且根据要求显示任意某条记录。原创 2023-09-14 14:47:40 · 103 阅读 · 0 评论 -
7-6 统计一行文本的单词个数
本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。原创 2023-09-14 14:44:30 · 516 阅读 · 0 评论 -
7-5 输出大写英文字母
本题要求编写程序,顺序输出给定字符串中所出现过的大写英文字母,每个字母只输出一遍;若无大写英文字母则输出“Not Found”。原创 2023-09-14 13:54:28 · 139 阅读 · 0 评论 -
7-4 输出数组元素
本题要求编写程序,对顺序读入的n个整数,顺次计算后项减前项之差,并按每行三个元素的格式输出结果。原创 2023-09-14 13:50:28 · 250 阅读 · 0 评论 -
7-3 求整数的位数及各位数字之和
在一行中输出N的位数及其各位数字之和,中间用一个空格隔开。对于给定的正整数N,求它的位数及其各位数字之和。输入在一行中给出一个不超过10。原创 2023-09-14 13:31:25 · 122 阅读 · 0 评论 -
7-2 输出闰年
输出21世纪中截止某个年份以来的所有闰年年份。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。原创 2023-09-14 13:29:01 · 244 阅读 · 0 评论 -
7-1 求简单交错序列前N项和
本题要求编写程序,计算序列 1 - 1/4 + 1/7 - 1/10 + … 的前N项之和。原创 2023-09-14 12:40:52 · 617 阅读 · 0 评论 -
7-36 黑洞数
黑洞数也称为陷阱数,又称“Kaprekar问题”,是一类具有奇特转换特性的数。任何一个各位数字不全相同的三位数,经有限次“重排求差”操作,总会得到495。最后所得的495即为三位黑洞数。所谓“重排求差”操作即组成该数的数字重排后的最大数减去重排后的最小数。(6174为四位黑洞数。例如,对三位数207:第1次重排求差得:720 - 27 = 693;第2次重排求差得:963 - 369 = 594;第3次重排求差得:954 - 459 = 495;以后会停留在495这一黑洞数。原创 2023-09-11 16:53:24 · 94 阅读 · 0 评论 -
7-37 找完数
所谓完数就是该数恰好等于除自身外的因子之和。例如:6=1+2+3,其中1、2、3为6的因子。本题要求编写程序,找出任意两正整数m和n之间的所有完数。原创 2023-09-11 14:52:23 · 71 阅读 · 0 评论 -
7-39 计算阶乘和
输入在一行中给出一个不超过10的正整数N。在一行中输出S的值。原创 2023-09-11 13:34:13 · 112 阅读 · 0 评论 -
7-38 掉入陷阱的数字
【代码】7-38 掉入陷阱的数字。原创 2023-09-11 13:25:20 · 165 阅读 · 0 评论 -
7-40 打印沙漏
本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。原创 2023-09-10 12:56:47 · 55 阅读 · 0 评论 -
7-42 猜数字
一群人坐在一起,每人猜一个 100 以内的数,谁的数字最接近大家平均数的一半就赢。本题就要求你找出其中的赢家。原创 2023-09-07 16:52:08 · 64 阅读 · 0 评论 -
7-43 方阵循环右移
本题要求编写程序,将给定n×n方阵中的每个元素循环向右移m个位置,即将第0、1、⋯、n−1列变换为第n−m、n−m+1、⋯、n−1、0、1、⋯、n−m−1列。原创 2023-09-07 15:37:39 · 134 阅读 · 0 评论 -
7-44 字符串转换成十进制整数
输入一个以#结束的字符串,本题要求滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,然后将其转换为十进制数后输出。如果在第一个十六进制字符之前存在字符“-”,则代表该数是负数。原创 2023-09-06 12:33:59 · 210 阅读 · 0 评论 -
7-45 判断上三角矩阵
上三角矩阵指主对角线以下的元素都为0的矩阵;主对角线为从矩阵的左上角至右下角的连线。本题要求编写程序,判断一个给定的方阵是否上三角矩阵。原创 2023-09-05 20:33:58 · 54 阅读 · 0 评论 -
7-46 删除重复字符
本题要求编写程序,将给定字符串去掉重复的字符后,按照字符ASCII码顺序从小到大排序后输出。原创 2023-09-04 21:29:22 · 46 阅读 · 0 评论 -
7-47 找最长的字符串
如果处理的是C++中的 std::string 对象,应该使用 length() 或 size() 方法来获取字符串长度。如果处理的是C风格字符串(以null字符结尾的字符数组),则可以使用 strlen() 函数来获取长度。使用 strlen() 来处理 std::string 对象是不正确的,因为它们是不同类型的数据结构,而且 strlen() 不会考虑 std::string 中的null字符。2.vector初始化,如果不用动态插入的话,就要提前设定好大小!原创 2023-09-04 20:58:41 · 1013 阅读 · 0 评论 -
7-48 字符串的冒泡排序
我们已经知道了将N个整数按从小到大排序的冒泡排序法。本题要求将此方法用于字符串序列,并对任意给定的K(<N),输出扫描完第K遍后的中间结果序列。原创 2023-08-31 18:51:49 · 173 阅读 · 0 评论 -
7-49 到底有多二
一个整数“犯二的程度”定义为该数字中包含2的个数与其位数的比值。如果这个数是负数,则程度增加0.5倍;如果还是个偶数,则再增加1倍。例如数字-13142223336是个11位数,其中有3个2,并且是负数,也是偶数,则它的犯二程度计算为:3/11×1.5×2×100%,约为81.82%。本题就请你计算一个给定整数到底有多二。原创 2023-08-31 17:09:59 · 79 阅读 · 0 评论 -
7-50 点赞
在 C++ 的容器中,begin() 指向第一个元素,而 end() 指向的是超越尾部的位置,它不包含任何有效元素。it->second:同样,这也是一个迭代器的用法,用于访问当前迭代器所指向的值(即键值对中的“value”)。it->first:这是一个迭代器的用法,用于访问当前迭代器所指向的键(即键值对中的“key”)。原创 2023-08-31 15:25:17 · 55 阅读 · 0 评论 -
7-51 个位数统计
对 N 中每一种不同的个位数字,以 D:M 的格式在一行中输出该位数字 D 及其在 N 中出现的次数 M。要求按 D 的升序输出。每个输入包含 1 个测试用例,即一个不超过 1000 位的正整数 N。不过这样最后一行是有回车的,不影响AC代码,这种好像不好避免。原创 2023-08-31 11:22:27 · 57 阅读 · 0 评论 -
7-33 2749:分解因素
给出一个正整数a,要求分解成若干个正整数的乘积,即a = a1 * a2 * a3 * … * an,并且1 < a1 <= a2 <= a3 <= … <= an,问这样的分解的种数有多少。注意到a = a也是一种分解。原创 2023-08-29 17:50:45 · 230 阅读 · 0 评论 -
7-31 2951:浮点数求高精度幂
有一个实数 R ( 0.0 < R < 99.999 ) ,要求写程序精确计算 R 的 n 次方。n 是整数并且 0 < n <= 25。原创 2023-08-29 17:03:16 · 165 阅读 · 0 评论 -
7-29 2800:垂直直方图
输入4行全部由大写字母组成的文本,输出一个垂直直方图,给出每个字符出现的次数。注意:只用输出字符的出现次数,不用输出空白字符,数字或者标点符号的输出次数。原创 2023-08-28 17:01:57 · 156 阅读 · 0 评论 -
7-28 均是素数
在给定的区间 [m,n] 内,是否存在素数 p、q、r(p<q<r),使得 pq+r、qr+p、rp+q 均是素数?原创 2023-08-27 21:07:39 · 520 阅读 · 0 评论 -
7-27 梅森数
−1的梅森数,每行一个。如果完全没有,则输出“None”。输入在一行中给出正整数n(n<20)。按从小到大的顺序输出所有不超过2。原创 2023-08-27 20:15:20 · 175 阅读 · 0 评论 -
7-26 求n以内最大的k个素数以及它们的和
本题要求计算并输出不超过n的最大的k个素数以及它们的和。原创 2023-08-27 18:17:34 · 86 阅读 · 0 评论 -
7-25 英文字母替换加密(大小写转换+后移1位)
将输入的一行字符中的所有英文字母替换为字母表中的后一个字母,同时将小写字母转换为大写字母,大写字母转换为小写字母后输出,其他字符按原样输出。输入一行字符,以回车符 '\n’作为 结束符。在这里给出相应的输出。在这里给出一组输入。原创 2023-08-26 18:53:19 · 464 阅读 · 0 评论 -
7-24 数组元素循环右移问题
每个输入包含一个测试用例,第1行输入N(1≤N≤100)和M(≥0);第2行输入N个整数,之间用空格分隔。在一行中输出循环右移M位以后的整数序列,之间用空格分隔,序列结尾不能有多余空格。原创 2023-08-26 18:30:55 · 68 阅读 · 0 评论 -
7-23 找出总分最高的学生
给定N个学生的基本信息,包括学号(由5个数字组成的字符串)、姓名(长度小于10的不包含空白字符的非空字符串)和3门课程的成绩([0,100]区间内的整数),要求输出总分最高学生的姓名、学号和总分。原创 2023-08-26 17:37:31 · 192 阅读 · 0 评论