自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

呱呱呱~的博客

点关注,不迷路,up带你上高速

  • 博客(119)
  • 收藏
  • 关注

原创 【字符串】1368: 【入门】简单a+b

张晓菲同学做了简单的ab求和的问题。但是,如果要求输入的情况不是a和b,而是整个加法表达式呢?请想办法,计算加法表达式的结果。输入一个加法表达式,如1+2=,或者23+58=。(注意:做加法的2个整数都在0~999999999的范围内)计算出输入表达式的正确结果。

2025-06-08 11:27:38 163

原创 【字符串】1367: 【入门】简单a*b

输入中包括一个表达式,如:a*b= a和b都是int类型的正整数。按照a*b=的格式输入算式,通过计算输出a*b的结果。结果只有一个正整数,整数在long long范围内。

2025-06-08 11:26:23 36

原创 1272: 简单函数I

写一个函数void print(int n);功能是输出1-n所有整数,整数之间用空格分隔。

2025-06-08 11:24:08 122

原创 【自定义函数】1297: 回文三位数

如果一个数从左边读和从右边读都是同一个数,就称为回文数。例如6886就是一个回文数,求出所有的既是回文数又是素数的三位数。所有的既是回文数又是素数的三位数。

2025-06-08 11:22:36 87

原创 2978:找数

在输的页码中找到某个数字是第一次出现。比如数字1,分别在页码:1、10,11,12中出现。那么数字1第五次出现在12页;第3和4次出现在第11页。一行两个整数k和n。代表要找的数字和出现的次数。一行,数字出现的页码。

2025-06-08 11:13:23 457

原创 1222: 统计直角的数目

第一行输入角的个数你。第二行输入n角的度数。输出直角的个数s的值。

2025-06-07 10:54:41 177

原创 基础版狼人杀c++游戏

目前支持狼人、预言家、女巫、猎人和村民这些角色,下午出进阶版的。

2025-05-25 11:31:10 384

原创 进阶版贪吃蛇游戏c++

int nTail;dir = STOP;score = 0;nTail = 0;i < width;++i) {j < height;++j) {++i) {if ((obsX!i++)i < height;i++) {j < width;j++) {else {k < nTail;k++) {if (!print)i++)case 'a':dir = LEFT;break;case 'd':

2025-05-25 11:26:39 732

原创 c++小游戏,猜数游戏,单机版和联机版

你猜对了数字 " << secretNumber << "!std::cout << "你总共猜了 " << attempts << " 次." << std::endl;std::cout << "我已经想好了一个1到100之间的数字。cout << "请玩家A输入一个整数(1~1000):";cout << "请玩家B输入一个整数(1~1000):";std::cout << "请输入你的猜测: ";

2025-05-25 11:16:40 342

原创 【电子协会1级真题】2024年09月T3: 最佳情侣身高差

该代码的功能是根据输入的字符(

2025-05-25 10:14:54 580

原创 【入门】【字符串】旅游景点大排名

先赞后看,养成习惯

2025-05-10 10:22:00 354

原创 1213: 【数组】猴子选大王(monkey)

选举办法如下:从头到尾1、2、3报数,凡报3的退出,余下的从尾到头1、2、3报数,凡报3退出;余下的又从头到尾报数,还是报3的退出;依此类推,当剩下的两只猴子时,取这时报数报1的为王。若想当猴王,请问当初应占据什么位置?出圈次序:3 6 9 7 2 5 4 10 剩下8和1时,8号猴子报1为大王。【样例分析】:十只猴子1-10编号,则出圈的次序为。猴子编号:1 2 3 4 5 6 7 8 9 10。猴子总数N,N<1000。

2025-05-03 11:09:52 152

原创 1201: 【一维数组】约瑟夫问题

N个人围成一圈,从第一个开始报数,第M个将被杀掉,再由下一个人开始重新报数,直到最后剩下一个人。例如N=6,M=5,被杀掉的人的序号为5,4,6,2,3。剩下的最后一个人的编号。N,M均小于10000。

2025-05-03 11:05:46 311

原创 1200: 【一维数组】排序后的奇数项

有20个正整数,将它们从小到大排序,输出其中的奇数项。一行,排序后奇数项的值。行末不要出现多余空格。一行,有20个正整数,整数之间用空格隔开。

2025-05-03 10:57:27 217

原创 1129: 输出字符I

输入一个字母ch和一个整数n。输出这个字母之后的n个字符。如果字符用完从第一个字母开始继续输出。 一个字母和一个整数。n个字母。样例输出 #include <iostream>#include <cmath>#include <stdio.h>using namespace std;int main() { char ch; int n; cin >> ch >> n; for (int i = 0; i < n; ++i) { if

2025-05-03 10:11:13 223

原创 1203: 【数组】数组元素平移(例题)

读入n个整数到数组a,然后将a数组中第一个元素移到最后数组末尾,其余数据依次往前平移一个位置。(注意本题输入输出数据格式,教材中的例题程序读数和输出部分需修改)提示:本题如果只是读入n个整数,再按输出格式的要求输出n个整数,有很多简单的方法实现,但本题希望大家严格按照题目描述要求,体会数组元素平移的操作方法。按顺序输出平移后的数组元素的值,各整数之间用一个空格分隔,行尾不能有空格。一行n个整数,n<=1000,所有整数不超过32767。

2025-04-26 10:58:54 413

原创 1195: 【一维数组】数组元素移动(1)

读入N个整数存放在数组中,将每个元素依次后移一个位置,最后一个元素移动到第一个元素的位置。移动以后的结果,相邻数值之间用一个空格分隔,行末不要出现多余空格。第二行:n个整数,相邻数值之间用一个空格分隔。第一行,一个整数n(n不超过100)

2025-04-20 10:53:01 277

原创 1243: 二维数组输出(3)

+j) { // 遍历当前行中的每一列。// 放置当前值并递增。输入一个整数N,输出一个N行N列的二维矩阵,矩阵中的元素用1——N*N顺序螺旋填充。

2025-04-04 18:29:39 527

原创 1208: 【数组】狐狸捉兔子

围绕着山顶有10个洞,一只狐狸和一只兔子各住一个洞。一天兔子对狐狸说:“你想吃我有一个条件,先把洞从1~10编上号,你从10号洞出发,先到1号洞找我;第二次隔1个洞找我,第三次隔2个洞找我,以后依此类推,次数不限。若能找到我,你就可以饱餐一顿。不过在没有找到我以前不能停下来。”狐狸满口答应就开始找了,它从早到晚找了1000次洞,累得昏了过去也没有找到兔子。请问,免子躲在几号洞里?一行,按顺序输出兔子可能躲藏的洞的编号,用空格分隔,行尾不能有空格。

2025-03-29 09:09:07 179

原创 1191: 统计数字出现次数 [1*]

found && currentNumber == targetNumber) { // 如果尚未找到目标数字且当前数字等于目标数字。// 输出首次出现的位置和出现次数。if (currentNumber == targetNumber) { // 如果当前数字等于目标数字。// 初始化计数器,用于记录目标数字M出现的次数。// 目标数字M,待查找的数字。// 读取整数N,表示接下来要输入的数字个数。// 读取目标数字M。【问题】输入N个数,计算数字M的出现次数,并输出M的第一次出现的位置。

2025-03-29 08:59:33 490

原创 1242: 二维数组输出(2)

输入一个整数N,输出一个N行N列的二维矩阵,矩阵中的元素按列用1——N*N顺序填充。输出N行N列的矩阵,元素之间用一个空格隔开,行末不要有多余的空格。一个整数N(N<=10)

2025-03-29 08:56:52 196

原创 枚举算法的了解

适用场景:问题解空间有限、数学约束明确、正确性优先的场景。优化方向通过数学建模缩小枚举范围。结合剪枝、并行计算等技术提升效率。在大规模问题中,优先考虑其他算法(如动态规划、分治)。通过深入理解枚举法的数学本质与工程实现,开发者能够在保证正确性的前提下,最大化利用计算机的计算能力,解决从经典数学问题到现代密码学挑战的各类复杂场景。

2025-03-28 21:37:03 906

原创 文件的操作

在操作系统中,每个进程都有三个标准的输入输出流:标准输入(stdin)、标准输出(stdout)和标准错误输出(stderr)。文件重定向技术允许用户改变程序输入输出的默认方向,将原本要输出到标准输出设备(通常是屏幕)的数据输出到文件中,或者从文件中读取数据而不是从标准输入设备(通常是键盘)获取输入。“a”:以追加模式打开文本文件,如果文件不存在则创建,写入的数据会追加到文件末尾。“w”:以写入模式打开文本文件,如果文件不存在则创建,如果文件已存在则清空内容。“r”:以只读模式打开文本文件,文件必须存在。

2025-03-28 21:30:57 290

原创 函数递归的了解

函数递归是指一个函数在其定义中直接或间接地调用自身的编程技巧。递归通常包含两个关键部分:基本情况(Base Case)和递归情况(Recursive Case)。基本情况是递归终止的条件,避免无限递归;当 n 为 0 或 1 时,函数返回 1,递归终止;否则,函数返回 n 乘以 (n – 1) 的阶乘。递归是一种强大的编程技巧,但在使用时需要注意递归深度,避免栈溢出的问题。对于一些复杂的递归问题,也可以考虑使用迭代方法来替代递归,以提高性能。当 n > 1 时,n!当 n = 0 或 n = 1 时,n!

2025-03-28 21:29:58 205

原创 指针的了解

在C++中,指针是一个非常重要且强大的概念,它存储的是变量的内存地址。内存中的每个字节都有一个唯一地址(如 0x7ffeeb0b9d6c),指针的作用是直接操作这些地址,实现高效的数据访问和管理。//不实际交换变量的值,只交换pa和pb变量的值。//等价于 cout<< *(*(p+1)+2)// 声明一个指向函数的指针,该函数接受两个int参数并返回一个int值。//修改p指向地址的值,相当于修改变量num的值。//输出指针所指向的值。int* p = # // & 取地址符,获取num的地址。

2025-03-28 21:28:10 558

原创 string

(3)rbegin() 对应最后一个字符,rend() 对应第一个字符之前。(1)string自动管理内存,但频繁修改可能导致多次重新分配,可使用 reserve() 优化性能。

2025-03-28 21:26:50 855

原创 c++字符串的初步认识与深入了解

推荐使用场景C风格字符串:嵌入式系统、与C库交互、性能敏感场景。:现代C++开发、需要安全性和易用性的场景。未来趋势随着C++标准演进,的功能和性能持续优化(如C++11的初始化语法),逐渐成为字符串处理的首选。总结:C++字符串处理需根据场景权衡选择。对于新手,的易用性和安全性更优;在特定需求下,C风格字符串的底层控制能力不可替代。掌握两者的差异与协同,能显著提升开发效率与代码质量。

2025-03-28 21:26:21 434

原创 结构体与联合体

在这个示例中,Student 是结构体名,它包含三个成员:id(整数类型,用于存储学生的编号)、name(字符串类型,用于存储学生的姓名)和 age(整数类型,用于存储学生的年龄)。在这个示例中,Data 是联合体名,它包含三个成员:i(整数类型)、f(单精度浮点数类型)和 str(字符数组类型)。结构体(struct)是一种用户自定义的数据类型,它允许将不同类型的数据项组合在一起,形成一个新的数据单元。联合体(Union),也被称为共用体,是一种特殊的数据类型,它允许在相同的内存位置存储不同的数据类型。

2025-03-28 21:22:48 418

原创 自定义函数

在C++中,自定义函数是一种非常重要的编程工具,它可以将一段特定功能的代码封装起来,提高代码的复用性、可读性和可维护性。通过自定义函数,可以将复杂的程序分解为多个小的、功能明确的模块,提高代码的可维护性和复用性。这个示例中,虽然在swap 函数内部交换了 a 和 b 的值,但由于传递的是a和b的值,所以并不会影响到 main 函数中的a和b的值。类似于传递变量的地址。调用函数时,需要提供函数所需的参数(如果有),并可以接收函数的返回值(如果有)。函数名:是函数的标识符,用于在代码中调用该函数。

2025-03-28 21:22:16 353

原创 【二维数组】与【多维数组】

这里只初始化了全部12个元素的六个元素,其余六个matrix[0][2]、matrix[0][3]、matrix[1][1]、matrix[1][2]、matrix[1][3]、matrix[2][3]元素默认初始化成了0。二维数组可以看作是数组的数组,它有两个维度,通常用于表示表格或矩阵。多维数组是二维数组的扩展,可以有三个或更多的维度。在初始化时,可以省略行数,编译器会根据初始化列表的数量自动推断行数。多维数组的初始化、遍历方式与二维数组类似,只是需要更多的嵌套。colSize 是数组的列数。

2025-03-28 21:21:14 144

原创 一维数组的了解

当完成第一趟排序时,数组中的最大的元素就会被排到数组的最后。我们用数据来演示一下,比如原来数组中的数据是 4 3 5 2 1,那么第一趟排序时,首先4和3比较,4大于3不满足升序规则,4和3交换位置,数据的数据变为:3 4 5 2 1;答案就是:最后一个元素向后移动一个位置,倒数第二个元素“挪”到原来倒数第一个元素所在的位置,倒数第三个元素“挪”到原来倒数第二个数据所在的位置,以此类推,直到把要插入数据的位置空出来为止。数组是由连续的内存位置组成的,最低的地址对应第一个元素,最高的地址对应最后一个元素。

2025-03-28 21:20:28 730

原创 循环的嵌套

外层循环可以用来遍历每个班级,内层循环用来遍历每个班级中的学生。然而在某些特定的场景中,无法确定循环的具体次数,这个时候就更适合用while语句。注意:for与while两种循环没有好坏之分,看具体的应用场景,而且可以相互的替代和转换。我们可以用循环嵌套来打印出每个月的日期。外层循环遍历月份,内层循环遍历每个月的日期。外层for循环控制变量i从0到2变化,每一次外层循环执行时,内层for循环的控制变量j都会从0到1完整地循环一次。图形的特点:一共n行,每行星号的数量等于行的序号,也就是说第i行有i个星号。

2025-03-28 21:14:49 281

原创 循环和选择语句的应用

一开始的时候,变量i的值被初始化为1,然后判断i<=10是否成立,然后执行循环体中的代码(也就是“{}”包含的所有代码),无论循环体中的代码有多少,在这次循环的过程中,变量i的值保持1;然后变量i增加到2,经过条件判断开始第二次循环,这这次循环中,变量i的值保持2……爱因斯坦出了一道这样的数学题:有一条长阶梯,若每步跨2阶,则最最后剩一阶,若每步跨3 阶,则最后剩2阶,若每步跨5阶,则最后剩4阶,若每步跨6阶则最后剩5阶。在 ​for​ 循环中,通常会使用一个变量来控制循环的执行,这个变量被称为循环变量。

2025-03-28 21:14:03 342

原创 字符型数据

负责发送消息的把秘密文件撕成两部分,有单词的部分写上自己的名字。然后把有单词和自己名字的纸片还给老师,把有数字的纸片送给负责接收数据的同学。因为计算机只能看懂数字,所以ASCII是一个非常重要的规则,它让计算机能够读懂我们的文字。在ASCII中,大写字母’A’的编号(我们称之为ASCII码)为65,大写字母’B’的ASCII码为66,其余的以此类推……当然存储的是字符’A’的ASCII——65。小写字母’a’的ASCII是97,’b’是98……数字’0’的ASCII是48,’1’是49……

2025-03-28 21:13:31 215

原创 浮点型变量

从程序的逻辑上看,if语句中的条件是成立的,因此程序应该输出”Yes”。而1.1这个数据默认是双精度浮点型,因此只要把h的定义类型改为double,程序就会输出”Yes”。因此,当用一个浮点型的(常)变量对一个整型变量赋值时,浮点型变量的小数部分会被直接截断(不进行四舍五入操作),只把整数部分赋值给整型变量。但最正确的比较浮点型数据是否相等的方法应该是设定一个阈值(epsilon),只要两个数据的差值小于这个阈值就认为是相同的数据。即便,浮点型数据的小数部分是零,浮点型的(常)变量都不能参与取余运算。

2025-03-28 21:12:45 410

原创 循环的初识

在C++中,通常在这里写一个条件表达式,比如i <10,表示只要计数器变量i小于10,就要继续跑(继续循环)。在C++中,通常设置一个计数器变量,比如int i =0,i用来表示跑完了几圈,i=0说明你还没开始跑。在这个例子中,你可以想象成你每跑完一圈,都会按一下手腕上的计数器,告诉自己已经完成了第几圈。在C++中,我们通常在这里更新计数器变量,比如i++,表示每完成一次循环,计数器变量i就增加1。部分是你在跑每一圈时要做的事情。在编程中,我们通常在这里写需要重复执行的代码,比如打印出当前跑的是第几圈。

2025-03-27 20:58:17 396

原创 让计算机学会深入思考

闰年可以分为两种,一种是普通闰年,就是公历年份是4的倍数,且不是100的倍数的,为普通闰年(如2004年、2020年等);“逻辑非”运算其实是把bool类型的变量当做一个灯的开关:如果灯是开(true)着的,你按一下开关(逻辑非操作)灯就关(false)了;相反,如果等原来是关(false)着的,你按一下开关(逻辑非操作)灯就开(true)了。只有当它两边的值都为 true 的时候,整个表达式的结果才是 true,其余情况的结果都是false。只有它两边的值都为false,整个表达式的结果才为false;

2025-03-27 20:57:08 362

原创 让计算机学会自己思考

甲乙两个人在公园相遇,甲说我今年n岁了(n是一个两位的整数,个位和十位不相等),乙说,太巧了,你的年龄倒过来,就是我的年龄,请问两个人谁的年龄更大, 请输出那个更大的年龄?从键盘读入一个三位整数,判断这个三位整数是否是对称数(对称数指的是,这个数正过来和倒过来是同一个数,比如:121、686、808等数都是对称数),如果是对称数,则输出“Y”,否则输出“N”。在编程中,这种结构非常常见,因为它允许我们根据不同的条件执行不同的代码块,从而实现更复杂和灵活的逻辑。有的时候else部分不是必须的。

2025-03-27 20:56:17 451

原创 数据存储—变量2

我们可以把变量看做装了水的瓶子,那这个问题就转换成如何交换两个瓶子里的水。最后,借来瓶子中的水倒入第二个瓶子中(还有别忘了把瓶子还给你的朋友)。因为我们是十进制的整数n,所以除以10的余数就是个位,商就是去掉个位以后的数值。另外这段代码直接修改了n的值,如果后面还需要用到n的值那么显然是不恰当的。123%10结果是3, 123/10的结果是12,即去掉个位以后的值。系统会用a的值赋为变量c赋值,这个过程中变量a的值是不会改变的。对于int类型变量有个非常特别的性质:当两个整数做除法的时候得到的结果是商。

2025-03-27 20:55:26 204

原创 数据存储—变量

不同瓶子之间的形状和材质各不相同,有的适合装水,有的适合装油,有的适合装醋,所有可以把这些瓶子分成不同的种类,即瓶子的“类型”不同。比如能存储整数的变量是整数类型,简称“整型”,能存储字母的变量是字符类型。当然,在生活中为了防止错拿调料瓶,比如放陈醋和酱油的瓶子很容易被混淆,我们还会为每个瓶子都贴上一个标签,比如“陈醋”、“酱油”、“色拉油”等等。在C++中也是如此,你想存储一个数据,你首先要有一个变量,而这个变量可不会凭空出现,你必须明确的向计算机系统表达你的需求:“计算机我需要一个瓶子!

2025-03-27 20:54:36 425

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除