- 博客(58)
- 收藏
- 关注
原创 在 C++ 里,字符串的处理十分重要。
C 风格字符串:采用字符数组存储,使用时要留意内存管理和字符串结束符。C++ string 类:使用方便,能自动管理内存,推荐优先使用。掌握字符串操作是 C++ 编程的基础,这些示例可以帮助你处理常见的字符串任务。分享在C++中,字符串的连接和复制操作是如何实现的?介绍一些C++中处理字符串的常用函数如何在C++中使用字符串流进行输入和输出?
2025-06-25 20:05:22
310
原创 文件操作C++基础教程 文件操作
在操作系统中,每个进程都有三个标准的输入输出流:标准输入(stdin)、标准输出(stdout)和标准错误输出(stderr)。文件重定向技术允许用户改变程序输入输出的默认方向,将原本要输出到标准输出设备(通常是屏幕)的数据输出到文件中,或者从文件中读取数据而不是从标准输入设备(通常是键盘)获取输入。“a”:以追加模式打开文本文件,如果文件不存在则创建,写入的数据会追加到文件末尾。“w”:以写入模式打开文本文件,如果文件不存在则创建,如果文件已存在则清空内容。“r”:以只读模式打开文本文件,文件必须存在。
2025-06-25 20:00:53
285
原创 函数递归C++基础教程 函数递归
函数递归是指一个函数在其定义中直接或间接地调用自身的编程技巧。递归通常包含两个关键部分:基本情况(Base Case)和递归情况(Recursive Case)。基本情况是递归终止的条件,避免无限递归;当 n 为 0 或 1 时,函数返回 1,递归终止;否则,函数返回 n 乘以 (n – 1) 的阶乘。递归是一种强大的编程技巧,但在使用时需要注意递归深度,避免栈溢出的问题。对于一些复杂的递归问题,也可以考虑使用迭代方法来替代递归,以提高性能。当 n > 1 时,n!当 n = 0 或 n = 1 时,n!
2025-06-25 19:59:32
310
原创 C++基础教程 指针
在C++中,指针是一个非常重要且强大的概念,它存储的是变量的内存地址。内存中的每个字节都有一个唯一地址(如 0x7ffeeb0b9d6c),指针的作用是直接操作这些地址,实现高效的数据访问和管理。//不实际交换变量的值,只交换pa和pb变量的值。//等价于 cout<< *(*(p+1)+2)// 声明一个指向函数的指针,该函数接受两个int参数并返回一个int值。//修改p指向地址的值,相当于修改变量num的值。//输出指针所指向的值。int* p = # // & 取地址符,获取num的地址。
2025-06-25 19:58:23
446
原创 STRINGC++基础教程 string
(3)rbegin() 对应最后一个字符,rend() 对应第一个字符之前。(1)string自动管理内存,但频繁修改可能导致多次重新分配,可使用 reserve() 优化性能。
2025-06-25 19:57:34
393
原创 结构体与联合体C++基础教程 结构体与联合体
在这个示例中,Student 是结构体名,它包含三个成员:id(整数类型,用于存储学生的编号)、name(字符串类型,用于存储学生的姓名)和 age(整数类型,用于存储学生的年龄)。在这个示例中,Data 是联合体名,它包含三个成员:i(整数类型)、f(单精度浮点数类型)和 str(字符数组类型)。结构体(struct)是一种用户自定义的数据类型,它允许将不同类型的数据项组合在一起,形成一个新的数据单元。联合体(Union),也被称为共用体,是一种特殊的数据类型,它允许在相同的内存位置存储不同的数据类型。
2025-06-15 11:10:50
369
原创 自定义函数C++基础教程 自定义函数
在C++中,自定义函数是一种非常重要的编程工具,它可以将一段特定功能的代码封装起来,提高代码的复用性、可读性和可维护性。通过自定义函数,可以将复杂的程序分解为多个小的、功能明确的模块,提高代码的可维护性和复用性。这个示例中,虽然在swap 函数内部交换了 a 和 b 的值,但由于传递的是a和b的值,所以并不会影响到 main 函数中的a和b的值。类似于传递变量的地址。调用函数时,需要提供函数所需的参数(如果有),并可以接收函数的返回值(如果有)。函数名:是函数的标识符,用于在代码中调用该函数。
2025-06-15 11:10:12
373
原创 二维数组与多维数组C++基础教程 二维数组与多维数组
这里只初始化了全部12个元素的六个元素,其余六个matrix[0][2]、matrix[0][3]、matrix[1][1]、matrix[1][2]、matrix[1][3]、matrix[2][3]元素默认初始化成了0。二维数组可以看作是数组的数组,它有两个维度,通常用于表示表格或矩阵。多维数组是二维数组的扩展,可以有三个或更多的维度。在初始化时,可以省略行数,编译器会根据初始化列表的数量自动推断行数。多维数组的初始化、遍历方式与二维数组类似,只是需要更多的嵌套。colSize 是数组的列数。
2025-06-15 11:09:04
278
原创 一维数组C++基础教程 一维数组
当完成第一趟排序时,数组中的最大的元素就会被排到数组的最后。我们用数据来演示一下,比如原来数组中的数据是 4 3 5 2 1,那么第一趟排序时,首先4和3比较,4大于3不满足升序规则,4和3交换位置,数据的数据变为:3 4 5 2 1;答案就是:最后一个元素向后移动一个位置,倒数第二个元素“挪”到原来倒数第一个元素所在的位置,倒数第三个元素“挪”到原来倒数第二个数据所在的位置,以此类推,直到把要插入数据的位置空出来为止。数组是由连续的内存位置组成的,最低的地址对应第一个元素,最高的地址对应最后一个元素。
2025-06-15 10:49:12
517
原创 循环嵌套C++基础教程 循环嵌套
外层循环可以用来遍历每个班级,内层循环用来遍历每个班级中的学生。然而在某些特定的场景中,无法确定循环的具体次数,这个时候就更适合用while语句。注意:for与while两种循环没有好坏之分,看具体的应用场景,而且可以相互的替代和转换。我们可以用循环嵌套来打印出每个月的日期。外层循环遍历月份,内层循环遍历每个月的日期。外层for循环控制变量i从0到2变化,每一次外层循环执行时,内层for循环的控制变量j都会从0到1完整地循环一次。图形的特点:一共n行,每行星号的数量等于行的序号,也就是说第i行有i个星号。
2025-06-15 10:46:50
282
原创 循环和选择语句的综合应用C++基础教程 循环和选择语句的综合应用
一开始的时候,变量i的值被初始化为1,然后判断i<=10是否成立,然后执行循环体中的代码(也就是“{}”包含的所有代码),无论循环体中的代码有多少,在这次循环的过程中,变量i的值保持1;然后变量i增加到2,经过条件判断开始第二次循环,这这次循环中,变量i的值保持2……爱因斯坦出了一道这样的数学题:有一条长阶梯,若每步跨2阶,则最最后剩一阶,若每步跨3 阶,则最后剩2阶,若每步跨5阶,则最后剩4阶,若每步跨6阶则最后剩5阶。在 for 循环中,通常会使用一个变量来控制循环的执行,这个变量被称为循环变量。
2025-06-15 10:45:42
291
原创 字符型数据C++基础教程 字符型数据
为了防止消息的内容被敌人发现,消息的的内容只能写在纸上,且只能写数字,不允许使用其他任何工具。负责发送消息的把秘密文件撕成两部分,有单词的部分写上自己的名字。然后把有单词和自己名字的纸片还给老师,把有数字的纸片送给负责接收数据的同学。因为计算机只能看懂数字,所以ASCII是一个非常重要的规则,它让计算机能够读懂我们的文字。在ASCII中,大写字母’A’的编号(我们称之为ASCII码)为65,大写字母’B’的ASCII码为66,其余的以此类推……数字’0’的ASCII是48,’1’是49!
2025-06-15 10:45:09
122
原创 浮点型变量C++基础教程 浮点型变量
从程序的逻辑上看,if语句中的条件是成立的,因此程序应该输出”Yes”。而1.1这个数据默认是双精度浮点型,因此只要把h的定义类型改为double,程序就会输出”Yes”。因此,当用一个浮点型的(常)变量对一个整型变量赋值时,浮点型变量的小数部分会被直接截断(不进行四舍五入操作),只把整数部分赋值给整型变量。但最正确的比较浮点型数据是否相等的方法应该是设定一个阈值(epsilon),只要两个数据的差值小于这个阈值就认为是相同的数据。即便,浮点型数据的小数部分是零,浮点型的(常)变量都不能参与取余运算。
2025-06-15 10:44:11
821
原创 如何重复做一件事情C++基础教程 如何重复做一件事情
在C++中,通常在这里写一个条件表达式,比如i <10,表示只要计数器变量i小于10,就要继续跑(继续循环)。在C++中,通常设置一个计数器变量,比如int i =0,i用来表示跑完了几圈,i=0说明你还没开始跑。在这个例子中,你可以想象成你每跑完一圈,都会按一下手腕上的计数器,告诉自己已经完成了第几圈。在C++中,我们通常在这里更新计数器变量,比如i++,表示每完成一次循环,计数器变量i就增加1。部分是你在跑每一圈时要做的事情。在编程中,我们通常在这里写需要重复执行的代码,比如打印出当前跑的是第几圈。
2025-06-15 10:42:21
225
原创 更深入的推理C++基础教程 更深入的推理
闰年可以分为两种,一种是普通闰年,就是公历年份是4的倍数,且不是100的倍数的,为普通闰年(如2004年、2020年等);“逻辑非”运算其实是把bool类型的变量当做一个灯的开关:如果灯是开(true)着的,你按一下开关(逻辑非操作)灯就关(false)了;相反,如果等原来是关(false)着的,你按一下开关(逻辑非操作)灯就开(true)了。只有当它两边的值都为 true 的时候,整个表达式的结果才是 true,其余情况的结果都是false。只有它两边的值都为false,整个表达式的结果才为false;
2025-06-15 10:41:13
778
原创 让计算机学会推理C++基础教程 让计算机学会推理
甲乙两个人在公园相遇,甲说我今年n岁了(n是一个两位的整数,个位和十位不相等),乙说,太巧了,你的年龄倒过来,就是我的年龄,请问两个人谁的年龄更大, 请输出那个更大的年龄?从键盘读入一个三位整数,判断这个三位整数是否是对称数(对称数指的是,这个数正过来和倒过来是同一个数,比如:121、686、808等数都是对称数),如果是对称数,则输出“Y”,否则输出“N”。(2)如果score小于60(即score >= 60的比较结果为假),程序会执行else块中的代码,输出“很遗憾,你没有通过这门课程。
2025-06-15 10:40:13
359
原创 数据的存储——变量2C++基础教程 数据的存储——变量2
我们可以把变量看做装了水的瓶子,那这个问题就转换成如何交换两个瓶子里的水。最后,借来瓶子中的水倒入第二个瓶子中(还有别忘了把瓶子还给你的朋友)。因为我们是十进制的整数n,所以除以10的余数就是个位,商就是去掉个位以后的数值。另外这段代码直接修改了n的值,如果后面还需要用到n的值那么显然是不恰当的。123%10结果是3, 123/10的结果是12,即去掉个位以后的值。系统会用a的值赋为变量c赋值,这个过程中变量a的值是不会改变的。对于int类型变量有个非常特别的性质:当两个整数做除法的时候得到的结果是商。
2025-06-15 10:18:46
256
原创 数据的存储——变量1C++基础教程 数据的存储——变量1
不同瓶子之间的形状和材质各不相同,有的适合装水,有的适合装油,有的适合装醋,所有可以把这些瓶子分成不同的种类,即瓶子的“类型”不同。比如能存储整数的变量是整数类型,简称“整型”,能存储字母的变量是字符类型。当然,在生活中为了防止错拿调料瓶,比如放陈醋和酱油的瓶子很容易被混淆,我们还会为每个瓶子都贴上一个标签,比如“陈醋”、“酱油”、“色拉油”等等。在C++中也是如此,你想存储一个数据,你首先要有一个变量,而这个变量可不会凭空出现,你必须明确的向计算机系统表达你的需求:“计算机我需要一个瓶子!
2025-06-15 10:16:51
462
原创 教会计算机说第一句话——框架C++基础教程 教会计算机说第一句话——框架
第02行代码是为了简化代码的书写,这有点像我们约定了一个默认的范围,比如中午的时候你约同学去食堂一起吃饭,你会说:“我们一起去食堂吃饭吧!”,这里说的食堂,默认指的是学校的食堂。无论程序有多少行,都必须从05行的“{”开始执行,到第08行的return语句结束。cout是一个非常重要的内容,如果 应用的好可以实现非常强大的功能。下面是一些练习题,对于初学者为了快速上手并记住框架的代码,请不要复制框架,每次做题的时候都重新写一遍框架。上面程序的第01行就是告诉计算机:我要把所有的工具一个不落的。
2025-06-15 10:14:10
113
原创 C++基础教程
更为重要的是,本教程旨在培养孩子们的计算思维素养。在学习C++的过程中,孩子们将学会如何将复杂的问题分解成一个个小的模块,如同将一个庞大的拼图拆分成许多小碎片,然后再通过编写代码将这些小模块组合起来,最终解决整个问题。信息学奥林匹克竞赛是一个极具挑战性和权威性的赛事,它不仅考验孩子们的编程能力,更考验他们的算法设计能力、逻辑思维能力以及创新能力。通过本教程系统而全面的学习,孩子们将在C++编程知识、计算思维素养以及算法掌握等方面得到全方位的提升,从而为在信息学奥林匹克竞赛这个舞台上一展身手做好充分的准备。
2025-06-15 10:10:57
219
原创 2320: 2023年09月一级T5:比n小的最大质数
对于给定的n,求比n小的质数中最大的一个。质数是指一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数。2023年9月一级第五题题目是:比n小的最大质数。( 2 < n < 10000)一个整数,即题目要求的解。
2025-06-14 10:46:03
668
原创 好玩的凡人修仙传
cout << "你苦修二十年后,突破元婴,成为最年轻的元婴修士" << endl;cout << "你在外游历十年,并建立宗门,名为五脏圣魔宗" << endl;cout << "你选择:A.继续苦修 B.前往秘境" << endl;cout << "你在回家的路上捡到了五脏大力神魔功" << endl;cout << " 你拜入嗜血魔门,魔灵老祖门下" << endl;cout << "你欣喜若狂,回家抓紧修炼" << endl;cout << "获得嗜血魔功" << endl;
2025-06-08 10:03:50
349
原创 1239: 年龄与疾病
按照0-18、19-35、36-60、61以上(含61)四个年龄段输出该段患病人数占总患病人数的比例,按照0-18、19-35、36-60、61以上(含61)四个年龄段统计的患病人数占总患病人数的比例。某医院想统计一下某项疾病的获得与否与年龄是否有关,需要对以前的诊断记录进行整理,第一行为过往病人的数目n(0<n<=100),以百分比的形式输出,精确到小数点后两位。第二行为每个病人患病时的年龄。每个年龄段占一行,共四行。
2025-06-07 10:44:21
477
原创 1237: 计算书费
输入一行,包含10个整数(大于等于0,小于等于100),分别表示购买的《计算概论》、《数据结构与算法》、《数字逻辑》、《C++程序设计教程》、《人工智能》、《计算机体系结构》、《编译原理》、《操作系统》、《计算机网络》、《JAVA程序设计》的数量(以本为单位)。数据结构与算法 32.7元/本。C++程序设计教程 78元/本。计算机体系结构 86.2元/本。JAVA程序设计 65元/本。计算概论 28.9元/本。编译原理 27.8元/本。人工智能 35 元/本。计算机网络 56元/本。操作系统 43元/本。
2025-06-07 10:19:09
313
原创 1228: 拉手游戏
N个小朋友手拉手站成一个圆圈,从第一个小朋友开始循环报数,报到M的那个小朋友退到圈外,然后他的下一位重新报"1"。这样继续下去,直到最后只剩下一个小朋友,他原来站在什么位置上呢?仅一行,有两个数N和M,其中N表示小朋友的人数,M表示报到数。仅一个数,留下的小朋友的编号。
2025-06-07 10:12:54
271
原创 1224: 找找谁的身高超过全班的平均身高
小东东班里有n口人,每人的身高都量出来了,你能帮他找出身高超出全班平均身高的成员编号和他的高度吗?第二行: 分别输入每个成员的身高,以空格隔开。第二行输出的是超出平均身高的成员编号和他的高度。第一行:输入0<n=<100(全班的人数)。平均身高值保留一位小数。
2025-05-17 10:38:12
250
原创 1226: 苹果摘陶陶
题目描述了一群苹果通过克隆技术将陶陶复制多份,并挂在树上让苹果们摘取。摘取规则是:苹果们按顺序摘取,每个苹果只能摘取一个高度低于其可及范围的最高陶陶,若无法摘取则离开。输入包括苹果数量n、陶陶数量m,以及每个苹果的可及高度和每个陶陶的高度。输出为摘取后剩余的陶陶数量。代码通过遍历苹果和陶陶的高度,标记被摘取的陶陶,最后统计未被摘取的陶陶数量并输出。样例输入为5个苹果和5个陶陶,输出为3,表示摘取后剩下3个陶陶。
2025-05-17 10:32:01
412
原创 1160: 【入门】输出满足条件的整数5
摘要:该程序用于寻找满足特定条件的四位数。条件包括:千位和百位数字之和为偶数,十位和个位数字之和为奇数,前两位之和大于后两位之和,且该数能被8整除。程序通过遍历1000到9999的所有四位数,逐一检查每个数是否满足上述条件,若满足则输出该数。最终,程序将输出所有符合条件的四位数,每行一个。
2025-05-17 10:29:26
177
原创 1159: 【入门】输出满足条件的整数4
输出1-n中含有数字3或者含有数字5,且因数有2(即能被2整除)的所有整数。(n < 1000)输出满足条件的整数,每行一个。从键盘输入一个整数n。
2025-05-17 10:25:46
225
原创 1158: 【入门】输出满足条件的整数3
请从键盘读入一个正整数n,请通过观察前4项的规律,输出1~n之间所有满足该规律的数字。有一个数列,该数列的前4个数是:1 4 7 10;输出满足题目要求的整数,每行1个。在一行输入一个整数n。
2025-05-17 10:23:31
367
原创 1157: 【入门】输出满足条件的整数2
有这样的三位数,其百位、十位、个位的数字之和为偶数,且百位大于十位,十位大于个位,请输出满所有满足条件的整数。输出满足条件的整数,每行一个。
2025-05-17 10:22:49
108
原创 1156: 【入门】输出满足条件的整数1
有这样的两位数,其十位上的数字比个位上的数字要大,且十位和个位上的数字之和为偶数,请找出所有的满足条件的2位数。输出满足条件的2位数,每行一个。
2025-05-17 10:17:00
149
原创 1205: 【数组】最大数
第二行,N个整数,最大数与第一个数对调后按顺序输出,中间用空格分隔,行尾不能有空格。输入N个整数,找出最大数所在位置,并将它与第一个数对调位置。第一行,最大数的位置,如果有多个,输出最前面的位置;第一行,整数N,1≤N≤104;第二行,N个不超过104的整数。
2025-05-17 10:01:42
299
原创 1152: 【入门】求满足条件的数的和
小明同学想找出这样的数:能同时被2、3、5、7中2个及2个以上的数整除的数,比如6、30、210等。请你编程帮助小明找出1~n中满足条件的数的总和是多少?一个整数,代表1~n中满足条件的整数的总和。一个整数n(n<=9999)
2025-05-17 10:00:28
442
原创 1224: 找找谁的身高超过全班的平均身高
小东东班里有n口人,每人的身高都量出来了,你能帮他找出身高超出全班平均身高的成员编号和他的高度吗?第二行: 分别输入每个成员的身高,以空格隔开。第二行输出的是超出平均身高的成员编号和他的高度。第一行:输入0<n=<100(全班的人数)。平均身高值保留一位小数。
2025-05-04 11:09:59
304
原创 1149: 【入门】与7无关的数?
一个整数,如果这个数能够被7整除,或者其中有一位是7,我们称为这个数是与7有关的数。比如:14能被7整除,17有一位为7,这两个数都是与7有关的数。比如1~10中与7无关的数的和为:1+2+3+4+5+6+8+9+10=48。请你编程求出1~n(n<=999)中,与7无关的数的总和是多少?一个整数n(n<=999)1~n中与7无关的数的总和。
2025-04-19 11:08:48
227
原创 1141: 【入门】求车速
一辆以固定速度行驶的汽车,司机在上午10点看到里程表上的读数是一个对称 数(即这个数从左向右读和从右向左读是完全一样的),为95859。两小时后里程表上 出现了一个新的对称数。问该车的速度是多少?输出两行,第一行是车速,第二行是新的里程数(两个都是整数)
2025-04-19 11:04:32
383
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人