- 博客(61)
- 收藏
- 关注
原创 C++的基本概念
命名空间:std是标准库的命名空间,用using namespace std;基本数据类型:最常用的是整型(int)、浮点型(float/double)、字符型(char)和布尔型(bool),变量得先声明再用,常量用const定义后值不能改。引用和指针:引用是变量的别名,定义时必须初始化且不能改指向,指针可以随时指向不同地址,引用比指针更安全但灵活性差一些。类和对象:类是对象的蓝图,定义了数据和操作,对象是类的具体实例,类的成员默认是private,外部只能访问public成员。
2026-07-19 17:35:24
206
原创 C++时间运算
在某个上网计费系统中,用户使用时间通常格式是:几小时几分钟。用一个结构体表示时间是个不错的方法,现在希望你设计个好的方法,能够快速方便地在程序中累加时间。第1行,一个整数N,范围在【1...1000】;下面有N行,每行有两个整数:hi mi,表示一个用户上网时间是hi小时、mi分钟。1行,两个整数h和m,表示N个时间的和。
2026-07-19 11:43:44
158
原创 C++全排列问题
输出自然数1到n所有不重复的排列,即n的全排列,要求所产生的任一数字序列中不允许出现重复的数字。由1~n组成的所有不重复的数字序列,每行一个序列。
2026-07-19 11:35:08
214
原创 C++查找元素位置
给定一个按照升序排列的有序数组和一个目标值,查找出这个目标值在有序数组中的第一个位置和最后一个位置。如果在数组中不存在目标值,则输出[-1,-1]。第一行有两个整数,第一个为目标值整数x,第二个为数组的长度n。第二行有n个整数,按长序排列。
2026-07-19 11:31:44
197
原创 C++组合的输出
这段代码实现了一个组合生成器,使用深度优先搜索(DFS)算法从1到n的数字中生成所有可能的m个数字的组合。程序首先读取n和m,然后从0开始递归遍历,确保每个新数字比前一个大,避免重复。对于每个有效组合(长度为m),按3位宽度格式化输出。例如输入5和3会输出所有3个数字的递增组合。代码简洁高效,利用递归和回溯实现组合生成。
2026-07-18 18:37:46
246
原创 C++二分查找
这段代码实现了一个二分查找算法。它首先接受两个输入:目标值target和数组大小n,然后读取n个有序数组元素。函数fun()使用二分查找在数组中搜索目标值,找到则返回其索引,否则返回-1。主函数main()处理输入输出,调用fun()并打印结果。代码使用了标准C++库和命名空间,通过维护左右指针l和r来缩小搜索范围,直到找到目标或搜索完毕。
2026-07-16 21:10:30
593
原创 C++求一个范围里的质数
该程序用于输出给定区间[n,m]内的所有质数。通过函数fun()判断数字是否为质数:若小于等于1则非质数,2是质数,其他数字检查是否能被2到其平方根之间的数整除。主函数读取输入区间,遍历区间内每个数字,调用fun()判断并输出质数。若无质数则输出"没有"。示例输入1 20输出2 3 5 7 11 13 17 19,展示了1到20之间的质数。程序简洁高效地实现了质数筛选功能。
2026-03-10 19:58:47
125
原创 C++斐波那契数列
这段C++代码实现了斐波那契数列的生成。当输入5时,程序会输出斐波那契数列的前5项:1 1 2 3 5。代码使用数组存储斐波那契数,通过循环计算每个元素的值(当前元素等于前两个元素之和)。程序从arr[2]开始计算,初始设置arr[0]=1作为基础条件。输出时从i=2开始打印,直到i=n+1(共n项)。该实现简洁高效,时间复杂度为O(n)。
2026-03-10 19:38:49
220
原创 C++十进制转任意进制
摘要:该程序实现了十进制数到任意进制(2-16)的转换功能。通过输入十进制数a和目标进制b,程序采用短除法不断取余,将余数转换为相应字符(数字0-9或字母A-F表示10-15),并逆序输出结果。核心算法包括循环取余、字符转换和结果逆序处理,能正确处理大数转换和10以上进制的字母表示。例如输入132和2进制,程序会输出二进制结果1101。
2026-03-08 22:06:06
51
原创 C++十进制转任意进制
该程序实现将十进制数转换为任意进制(2-16)的功能。通过输入十进制数a和目标进制b,程序使用短除法不断取余,将余数转换为相应字符(数字或字母)并存储。最后逆序输出转换结果。例如输入132和2进制,输出二进制1101。程序核心是循环取余和字符转换过程,支持大数转换并正确处理10以上进制的字母表示。
2026-03-08 22:03:25
226
原创 C++水仙花数
这段C++代码用于找出所有三位数的水仙花数(即每个位上的数字的立方和等于该数本身)。程序遍历100到999之间的数字,分解各位数字后计算立方和,如果满足条件则输出该数。执行结果将输出153 370 371 407,这些都是三位数的水仙花数。
2026-01-15 20:01:40
174
原创 C++大象喝水
这段C++代码计算需要多少桶水才能装满20升容器。程序读取桶的高度h和半径r,通过圆柱体积公式计算单桶容积(单位升),再用20升除以单桶容积并向上取整,输出所需桶数。核心算法涉及体积计算和数学取整操作。
2026-01-13 20:26:29
343
原创 C++分解质因数
这段C++代码实现了一个整数分解质因数的功能。程序接收一个整数N作为输入,输出其质因数分解结果。例如输入24,输出"24=222*3"。算法采用循环除法,从2开始逐个尝试除数,若能整除则记录该因数并继续分解,直到N变为1。对于特殊值1会直接输出"1=1"。程序使用isFirst标志来正确处理因数间的乘号连接。
2026-01-11 20:13:28
270
原创 C++蛇形方阵
这段C++代码实现了一个螺旋填充n×n矩阵的算法。程序首先读取整数n,然后创建一个n×n的零矩阵。通过定义四个方向(右、下、左、上),从(0,0)位置开始按顺时针螺旋顺序填充数字1到n²。当遇到边界或已填充位置时,算法会顺时针旋转90度寻找下一个可填充位置。最后输出完整的螺旋矩阵。例如输入4时,输出如题目所示的特定数字排列。该算法通过方向向量和边界检查实现了矩阵的螺旋填充功能。
2026-01-10 16:54:25
512
原创 C++十六进制转十进制(利用自定义函数)
这段C++程序实现将十六进制字符串转换为十进制数。程序通过循环遍历输入字符串,将每个字符转换为对应的数值(0-9或A-F),并计算其对应的十进制值。转换过程采用从低位到高位逐位计算的方式,每次循环将当前位的值乘以16的幂次后累加。最终输出转换结果。例如输入"1AB"会输出十进制值427。程序使用了字符串处理和基本的数学运算来完成进制转换。
2025-10-10 20:46:48
402
原创 C++十进制转二进制
该程序实现十进制转二进制的功能。通过输入一个整数n,将其不断除以2取余数,将余数存入数组,最后逆序输出数组内容,得到对应的二进制表示。例如输入10,程序输出1010。代码简洁高效,使用while循环处理转换过程,for循环实现结果输出。
2025-10-08 21:43:42
542
原创 C++十进制转八进制
这段C++程序实现了十进制转八进制的功能。用户输入一个十进制数后,程序通过循环取余和除法运算,将十进制数转换为八进制并输出。具体步骤是:1.将输入数n不断除以8并记录余数;2.将余数按逆序排列即为八进制结果。例如输入33会输出41(33的八进制表示)。程序使用了数组存储中间结果,最后反向输出数组元素。
2025-10-08 21:37:07
540
原创 C++二进制转十六进制
这篇文章展示了一个C++程序,将输入的二进制数转换为十六进制输出。程序使用bitset<16>读取16位二进制数,通过to_ulong()转换为无符号长整型,再用hex格式输出为十六进制。例如输入1101(二进制)将输出d(十六进制)。代码简洁高效,利用了标准库的bitset和流操作符实现进制转换。
2025-09-21 20:00:50
205
原创 C++二进制转八进制
这段C++程序将输入的二进制数转换为八进制输出。程序使用bitset<16>读取二进制输入,通过to_ulong()转换为无符号长整型,再用oct输出流格式化为八进制。例如输入1101(二进制13)会输出15(八进制13)。代码简洁高效,利用标准库实现了二进制到八进制的转换。
2025-09-21 19:56:44
400
原创 C++二进制转十进制
这段C++程序将二进制数转换为十进制。使用bitset<16>读取输入的二进制数(如1101),通过to_ulong()方法将其转换为无符号长整型输出(13)。程序简洁高效,适合基础进制转换需求。
2025-09-21 19:50:37
555
原创 C++冒泡排序
这是一个简单的C++排序程序,使用冒泡排序算法对输入的整数数组进行升序排序。程序首先读取整数n表示数组长度,然后读取n个整数存入数组。通过双重循环比较相邻元素并交换位置,最终输出排序后的数组。虽然实现了排序功能,但该算法效率较低(时间复杂度O(n^2)),实际应用中建议使用更高效的排序算法。
2025-09-14 20:01:37
118
1
原创 C++字符串的insert()函数
这篇文章介绍了一个C++程序,用于在指定位置插入字符串。程序通过getline()读取两个字符串str和s,再读取插入位置n,使用insert()方法将s插入到str的第n个位置,最后输出结果。代码简洁高效,适合字符串处理练习。
2025-09-14 19:47:34
498
原创 C++从字符串中移除前导零(二)
摘要:该C++程序用于去除数字字符串的前导零。程序首先读取字符串输入,将其转换为整数(自动去除前导零),再转回字符串输出。例如输入"0000123456"会输出"123456"。代码简洁高效,使用了stoi()和to_string()函数实现类型转换。
2025-09-08 21:29:33
764
原创 C++从字符串中移除前导零
该程序用于去除字符串开头的零字符。当输入"0000123456"时,程序会输出"123456"。核心函数removeZero()通过while循环找到第一个非零字符的位置,然后使用erase()方法删除前面的所有零。主函数读取输入字符串并调用该函数处理。程序简洁高效,适用于需要去除前导零的场景。
2025-09-08 18:39:48
779
原创 C++逆向输出一个字符串(四)
摘要:这段C++代码实现了字符串反转功能。它通过getline获取输入字符串,然后使用栈结构依次压入字符,再通过出栈操作将字符倒序存入新字符串,最后输出反转后的结果。代码简洁高效,利用栈的LIFO特性完成反转操作,时间复杂度为O(n)。
2025-09-07 21:28:04
357
原创 C++逆向输出一个字符串(三)
这段代码实现了一个字符串反转功能:从标准输入读取一行字符串,使用reverse迭代器构造反转后的新字符串,再输出结果。例如输入"csdn"会输出"ndsc"。代码简洁高效,利用了C++的STL特性,包含头文件<bits/stdc++.h>并使用string类的rbegin()/rend()方法实现反转。
2025-09-07 21:14:01
834
原创 C++逆向输出一个字符串(二)
该代码实现字符串反转功能,使用C++编写。程序从标准输入读取字符串,调用reverse()函数将字符串首尾反转,然后输出结果。例如输入"csdn"会输出"ndsc"。核心代码仅需5行:读取输入、反转字符串、输出结果,简洁高效地完成了字符串反转任务。
2025-09-07 21:07:40
428
原创 C++判断字符串是否是回文(palindrome)
这段C++代码实现了一个判断字符串是否为回文的功能。程序通过checkPalindrome函数逐个比较字符串首尾对称位置的字符,若有不匹配则返回false,否则返回true。主函数读取输入字符串后调用该函数,输出判断结果。例如输入"csdn"会输出"csdn is not palindrome"。代码简洁高效,时间复杂度为O(n/2),适合处理回文字符串判断问题。
2025-09-07 12:41:18
862
原创 C++比较两个字符串
这个C++程序比较两个输入的字符串大小。程序使用string类的compare()方法比较str和str2,若返回值为0则输出相等,大于0输出str较大,小于0输出str较小。测试输入"ABCD XYZ"时,程序会输出"ABCD is less than XYZ",因为按字典序ABCD小于XYZ。程序简洁地实现了字符串比较功能,适合初学者理解基本字符串操作。
2025-09-06 21:13:24
356
原创 C++输出字符串的统一码(Unicode Code)和 ASCII 码
统一码(Unicode),也叫万国码、单一码,由。方案的局限而产生的,它为每种语言中的每个。进行文本转换、处理的要求。里的一项业界标准,包括。统一码是为了解决传统的。设定了统一并且唯一的。
2025-09-06 20:05:02
674
原创 C++两个字符串的结合
这段代码实现字符串拼接功能。用户输入两个字符串a和b后,使用append()方法将b追加到a后面,然后输出拼接后的结果。代码简洁但存在改进空间:1. 缺少输入验证 2. 直接修改原字符串a可能不符合某些场景需求 3. 可考虑更高效的拼接方式。适合基础字符串操作演示。
2025-09-05 21:34:22
389
原创 C++两个字符串的结合
该程序实现了两个字符串的连接功能。通过包含标准库并使用命名空间,定义两个字符串变量a和b,用cin接收用户输入的字符串,最后用cout输出连接后的字符串(a+b)。输入"csdn"时,程序会输出"csdn"。代码简洁高效,展示了C++中字符串的基本操作。
2025-09-05 21:24:11
515
原创 C++字符串字符替换程序
这是一段用于字符串替换的C++代码。程序接收一个字符串和两个字符作为输入,将字符串中所有与第一个字符匹配的字符替换为第二个字符,然后输出修改后的结果。代码使用简单的循环遍历字符串进行逐个字符比较和替换,最后输出处理后的字符串。
2025-09-04 21:28:28
325
原创 C++两个二维数组相乘
该程序实现两个二维数组的矩阵乘法。首先输入第一个矩阵的行列数和元素,然后输入第二个矩阵的行列数和元素。通过三重循环计算矩阵乘积:外层循环遍历结果矩阵的行,中层循环遍历列,内层循环进行元素相乘累加。最后输出结果矩阵。示例中3x2和2x3矩阵相乘得到3x3矩阵,输出为3 3 3 6 6 6 9 9 9。程序使用固定大小数组存储矩阵,适用于中等规模矩阵运算。
2025-09-04 20:23:35
661
原创 C++二维数组的前缀和
本文介绍了C++中计算二维数组前缀和的高效方法。通过动态规划思想,使用递推公式res[i][j]=arr[i][j]+res[i-1][j]+res[i][j-1]-res[i-1][j-1],可以快速计算任意子矩阵的和。文中给出了完整的C++实现代码,包括输入一个n×n数组并输出其前缀和矩阵的示例。该方法的时间复杂度为O(n²),能有效优化二维区间求和操作,适用于图像处理、动态规划等场景。
2025-09-02 19:49:09
609
原创 C++将正方形矩阵的第一行和最后一行互换
C++将正方形矩阵的第一行和最后一行互换,就是在输出时判断如果是第一行那就输出最后一行,如果是最后一行那就输出第一行。
2025-08-31 20:16:14
300
原创 C++转置正方形矩阵
这段C++代码实现了正方形矩阵的转置操作。程序首先读取矩阵大小n,然后输入n×n矩阵元素。通过交换行和列索引(a[i][j]变为a[j][i])实现转置,最后输出结果。示例输入3及矩阵123456789,输出转置后的147258369。代码使用二维数组存储矩阵,通过双重循环完成转置操作。
2025-08-30 09:54:41
1381
原创 C++求正方形矩阵边缘元素与边缘元素和
该程序实现了一个正方形矩阵边缘元素的提取与求和功能。首先输入矩阵维度n和元素值,然后输出边缘元素:首尾行完整输出,中间行仅输出首尾元素并用空格填充。最后计算并输出所有边缘元素的和。示例输入4x4矩阵时,会输出边缘元素并计算总和30。程序使用双重循环遍历矩阵,通过条件判断区分处理不同行,并实时累加边缘元素值。
2025-08-29 23:39:25
449
原创 C++计算正方形矩阵对角线和
这个C++程序计算正方形矩阵两条对角线的和。主对角线是从左上到右下的元素,次对角线是从右上到左下的元素。程序首先读取矩阵大小n和元素值,然后用两个循环分别计算两条对角线的和:主对角线用arr[i][i]累加,次对角线用arr[i][n-1-i]累加。例如4x4矩阵输入示例中,主对角线和为16,次对角线和为20。程序最后输出两条对角线的求和结果。
2025-08-29 11:21:01
440
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅