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

2020年09月的文章

字符串

字符串例题——判断字符串相等

tangyj626阅读(215)赞(11)

问题:判断两个字符串是否相等。 分析:使用char数组存储字符串,可以直接使用strcmp函数来比较两个字符串;如果使用string存储字符串,那么可以直接使用==来判断是否相等: 其实不使用strcmp函数,直接用for循环依次比较字符串...

字符串

字符串例题——求逆序数

tangyj626阅读(187)赞(13)

问题:输入一个正整数(),计算并输出的逆序数。正整数的逆序数就是倒着念的整数(高位不能有多余的0),例如123的逆序数是321,5700的逆序数是75。 分析:使用循环拆分出存储在long long类型变量每位上的数字,一边拆分一边组装逆序...

字符串

字符串例题——判断回文字符串

tangyj626阅读(200)赞(13)

问题:判断不包含空格且长度不超过1000的字符串是否是回文字符串。所谓回文字符串就是顺着念、倒着念完全相同的字符串。 分析:对于字符串,设其长度为,那么是回文字符串必须要满足:str[0] == str[n-1]、str[1] == str...

字符串

字符串例题——统计单词数量

tangyj626阅读(178)赞(14)

问题:统计长度不超过1000的字符串中的单词数量。字符串中的单词用一个或者多个空格隔开。 分析:输入的字符串包含空格,不能简单地使用cin或者scanf输入。可以直接遍历字符串中的字符,遍历过程中统计单词首字符的数量,单词首字符的特点是:当...

字符串

字符串例题——统计字符串中某单词出现次数

tangyj626阅读(207)赞(14)

问题:统计字符串中单词出现的次数。已知字符串中的单词用一个空格或者多个空格隔开。 输入格式:有2行,第1行是字符串,第2行是不带空格的单词。 分析:使用string来存储字符串和单词。可以通过string的find方法查找子串的方式统计单词...

字符串

字符串例题——删除单词后缀

tangyj626阅读(162)赞(14)

问题:给定一个单词,如果单词以er、ly或者ing后缀作为结尾,则删除该后缀,否则不做任何处理。输出单词删除er、ly、ing后缀的结果(输入保证保证删除后缀后的单词长度不为0)。 分析:将单词存储在字符数组中,判断字符数组尾部的2个字符或...

字符串

字符串例题——P1957 口算练习题

tangyj626阅读(206)赞(16)

通过本例题介绍sscanf和sprintf函数的使用方法。字符串的处理是应用程序的重要操作,也是竞赛的考点,在编程时需要灵活处理。 这是一道常规问题,但是由于每行中输入的数据个数不一致,数据的处理是一个难点。进一步分析问题可知,每行有3个数...

字符串

字符串例题——字符串数组

tangyj626阅读(172)赞(16)

问题:输入()位小组成员姓名(姓名中只有英文字符,每个姓名不超过10个字符),逆序输出所有姓名。 分析:使用string数组存储所有成员姓名,然后逆序输出数组中的string即可。 此外,如果用字符数组存储所有姓名,需要使用二维数组。此时二...

函数

使用内置函数

tangyj626阅读(400)赞(14)

C/C++中有很多可以直接调用的内置函数,例如math头文件中提供的、、等数学函数,又例如stdio头文件中提供的格式化输入输出函数和。所谓内置函数,可以理解为编程语言已经定义好的“工具”,我们先引入函数所在的头文件,然后就可以按照“工具的...

函数

自定义函数

tangyj626阅读(438)赞(14)

只使用内置函数往往是不够的,解决实际问题时,很多时候需要我们根据实际情况自定义函数并调用函数解决问题。自定义函数的优势是一次定义,需要的时候调用即可,可以有效避免大量相同或相似的代码重复出现导致程序臃肿繁琐的情况,也能让程序的逻辑结构更加清...

函数

自定义函数例题

tangyj626阅读(308)赞(14)

一、打印字符三角形 打印边长为由字符组成的三角形。用函数实现,很显然函数没有返回值,有两个参数:int类型的参数n,表示字符三角形边长;char类型的参数ch,表示组成三角形的字符: 需要额外注意的是,调用函数时,如果实际参数是变量,那么实...

函数

局部变量与全局变量

tangyj626阅读(201)赞(11)

我们来看前面累加求和和判断素数的程序代码: ↑控制变量i申明语句放在了for循环语句中↑ ↑控制变量i申明语句放在了for循环语句前↑ 判断素数的程序,在for循环结束后判断循环的条件不成立(说明循环正常结束,没有被break掉)来判断是素...

函数

函数参数传递

tangyj626阅读(254)赞(12)

一、值传递 来看一个例子,使用函数交换两个变量的值: 运行程序会发现,调用swap(a,b)并不能交换a、b两个变量的值!原因很简单,执行swap函数时,会将实际参数a、b的值赋值(拷贝)给swap函数的形式参数x、y,而 x、y是swap...

函数

快读

tangyj626阅读(166)赞(5)

遇到要输入处理较多整数的题目时,用scanf或者cin肯定是不够快的。由于getchar()有速度快的特性,所以可以使用getchar()将整数按照单个字符的方式输入并重新组装,对比scanf,这样做效率可以提高数倍。可以将以“getcha...

函数

递归函数

tangyj626阅读(333)赞(12)

函数体中可以调用其它函数,如果一个函数题中又调用了自己,这样的函数称为递归函数。显然,函数体中不应该是无条件的递归调用,否则就和“死循环”一样的效果了。也就是在满足某些条件的时候不递归调用自身,这也就是递归函数的“出口”。 一、计算阶乘 对...

数据结构基础

结构体

tangyj626阅读(582)赞(15)

结构体能够将一些不同类型的信息“捆绑”聚合成一个整体,例如可以用一个结构体来记录学生的姓名(字符串类型)、性别(char类型)、年龄(int类型)等信息。结构体就像int、double一样,是一种(自定义的)数据类型。 一、结构体的基本使用...

数据结构基础

指针

tangyj626阅读(323)赞(13)

指针其实存储的是变量在内存中的地址,将指针指向变量后,就可以使用该指针来获取变量的值或者为变量赋新值。 一、指针的基本用法 指针是用来指向某个变量的,将指针指向变量后,指针存储的是该变量在内存中的地址。要使用指针,首先要申明指针,然后就可以...

数据结构基础

线性表——栈

tangyj626阅读(447)赞(13)

线性表是最简单、最基本的一种数据结构,线性表可以描述为若干具有相同数据类型的数据按照线性“串起来”的结构,线性表中的每个元素都有前一个元素(前驱)和后一个元素(后继)。线性表可以分为栈、队列、链表等。 一、栈的定义 先来看一个例子:小张是流...

数据结构基础

线性表——队列

tangyj626阅读(312)赞(14)

中午在食堂打饭,真是一个令人头疼的事情,去食堂的路上也总是步伐匆匆,迟一点去,就会深刻领悟什么叫做人山人海了。相比较学生来说,打饭阿姨毕竟是少数,在每个窗口都有人的时候,我们就得排队等待,队列最前面的一个学生打完饭离开,后面排队的人才可以继...

数据结构基础

线性表——链表

tangyj626阅读(473)赞(17)

班级所有同学去参观自然博物馆,在博物馆前列队完毕后解散进入馆内自由参观。活动结束后,领队老师想恢复参观前队列的次序,但是在解散前老师并没有记录下来所有人的次序,幸运的是每个人都知道在队列里自己的下一个人是谁,领队老师也知道队列里第一个人是谁...