NOIP学习小站
西安交通大学附属中学航天学校

2020年08月的文章

第2页
循环结构

循环结构例题(一)

tangyj626阅读(1601)赞(10)

一、累加求和 1.计算(也就是) 前面章节已经具体分析过并给出了参考代码: 注意上面程序循环体中的注释,我们以后再描述循环体中语句作用的时候,就会像 第i次循环:s累加上i 这样抽象地概括语句的作用,而不再是从细节上去说:第1次循环,s累加...

循环结构

循环的嵌套

tangyj626阅读(1082)赞(11)

正如选择结构if语句的if子句和else子句可以嵌套if语句一样,循环语句的循环体中也能出现循环语句,这就是循环的嵌套,也称为多重循环。就以钟表的分针和秒针为例,分针每走一格,秒针都要走完整一圈。分针走动多格可以用循环来描述,这是“大操作”...

循环结构

循环结构例题(二)

tangyj626阅读(957)赞(11)

一、阶乘累计求和 问题:已知的阶乘: (也就是 ),输入正整数,计算 分析:累计求和需要使用重复n次的循环,循环体内需要嵌套一个循环使用累乘结构计算,那么程序的框架可以是: 进一步实现框架中计算 的功能模块: 上面的程序使用了双重循环,可以...

循环结构

使用循环输入输出多个数据

tangyj626阅读(728)赞(12)

编写程序解决问题,往往涉及到大量数据的处理,可能要输入批量的数据,也有可能要批量输出大量数据,这个时候往往要借助循环结构来处理。 将输入输出语句放在循环体中,可以很容易实现批量数据的输入输出。这里给出几种竞赛常用的输入输出结构,首先介绍输入...

循环结构

算法时间复杂度

tangyj626阅读(501)赞(11)

在计算机科学中,算法的时间复杂度是一个函数,它定性描述该算法的运行时间。时间复杂度常用大O符号表述,一般描述为与问题规模相关的函数,但不包括这个函数的低阶项和最高阶系数。 一、时间复杂度的定义 一个算法花费的时间与算法中基本语句的执行次数成...

数组

数组

tangyj626阅读(786)赞(14)

前面的例题,特别是循环结构中的例题,涉及到读取大量的数据进行处理,但都是读入数据保存到变量后立即使用变量处理数据,处理结束后也不再使用这些数据了,所以往往在循环体中都是将数据输入到同一个变量就行。但是有时候,我们读入若干数据后,还需要将这些...

数组

数组元素的操作

tangyj626阅读(458)赞(12)

通过前面的学习,在解决问题时根据数据规模开一个很大的数组,并不意味着所有的元素都会被用来存储数据,本小节一起来学习数组元素的操作,包括数组末尾追加元素、插入元素和删除元素。 前面我们使用过数组来存储输入的数据: 实际操作中,并非数组的每个元...

数组

数组例题——使用数组下标查询结果

tangyj626阅读(277)赞(6)

先来看一个问题:输入整数 和 ,输出公元 年 月的天数。 首先想到的是使用多分支结构来进行分类讨论: 其实还可以将一年里个月的天数存放到一个数组a里:月的天数存放到,月的天数存放到,……,月的天数存放到(抽象概括就是 月的天数存放在数组 元...

数组

数组例题——宾馆房间的门

tangyj626阅读(302)赞(9)

宾馆里有一百个房间,从1-100编了号。第一个服务员把所有的房间门都打开了,第二个服务员把所有编号是2的倍数的房间门作“相反处理”,第三个服务员把所有编号是3的倍数的房间门作“相反处理”…,以后每个服务员都是如此。编写程序计算当第100个服...

数组

数组例题——筛选法求素数

tangyj626阅读(406)赞(11)

前面介绍过如何判断一个正整数是否是素数,如果我们要筛选出范围内的所有素数,前面介绍的方法是使用循环枚举每一个整数并在循环体中使用循环来判断是否为素数: 其实还有一种效率更高的方法——筛选法。具体步骤如下: 首先将(这里以为例)的所有整数书写...

数组

数组例题——斐波那契数列

tangyj626阅读(344)赞(11)

在700多年前,意大利有一位著名数学家斐波那契在他的《算盘全集》一书中提出了这样一道有趣的兔子繁殖问题:兔子在出生两个月以后,就具有生殖后代的能力。假设一对兔子,每月都能生一对兔子,生出来的每一对小兔子,在出生两个月后,也每月生一对兔子。那...

数组

数组例题——进制转换

tangyj626阅读(308)赞(12)

以我们熟悉的十进制数为例,十进制数只有0、1、2、3、4、5、6、7、8、9这10个基本数字(也称为数码)。同样的,二进制数只有0、1两个数码,八进制数只有0、1、2、3、4、5、6、7这八个数码。 对于  进制数 ,书写时如果某位上数字超...

数组

二维数组和多维数组

tangyj626阅读(548)赞(10)

前面介绍的都是一维数组,一维数组就像“一排容器”,能够存储若干相同数据类型的数据。对应的还有二维数组、三维数组……多维数组相当于一片容器的矩阵。 一、二维数组 前面介绍了一维数组就像“一排容器”,可以描述为一种“线性”的结构,那么二维数组就...

数组

数组例题——杨辉三角

tangyj626阅读(309)赞(11)

杨辉三角,是二项式系数在三角形中的一种几何排列。在欧洲,这个表叫做帕斯卡三角形。帕斯卡(1623——1662)是在1654年发现这一规律的,比杨辉要迟393年,比贾宪迟600年。杨辉三角是中国古代数学的杰出研究成果之一,它把二项式系数图形化...

数组

数组例题——蛇形填充方阵

tangyj626阅读(343)赞(11)

给定一个的方阵,从右上角开始,依次用1、2、3、…按照蛇形填充方阵的每个方格。以为例,填充结果如下: 输入正整数(),输出方阵蛇形填充结果。 分析:要通过找规律的方式得出阵列第行第列的值太困难,可以通过模拟蛇形填充的过程将阵列每个方格的数填...

数组

数组例题——约瑟夫问题

tangyj626阅读(281)赞(12)

据说著名犹太历史学家Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个山洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,...

字符串

char数组存储字符串

tangyj626阅读(629)赞(16)

我们的第一个“Hello World”程序使用cout输出了"Hello World"这一句话其实就是字符串。字符串就是连续的字符“串”起来的一段文本,可以看成是若干有序的字符的集合。通过前面的学习,可知char数组就是若干有序的字符的集合...

字符串

C++中的string类型字符串

tangyj626阅读(678)赞(14)

使用字符数组来存储字符串,其实是C的做法,C++除了沿用这样的做法外,还引入了专门的数据类型string来处理字符串。string本质是类,所以有很多字符串处理方法。 因为string是C++中的类,而类是C++的高级用法,所以本节的内容有...

字符串

字符串的输入输出

tangyj626阅读(584)赞(14)

通过前面的学习可知,可以使用字符数组来存储字符串,也可以直接使用C++的string类型来存储字符串。但是如果要按行输入带有空格的字符串,只是简单地使用cin和scanf是不能实现的。 本小节重点研究字符串的输入,重点处理按行输入有空格的字...