蓝桥杯刷题记录

P5705 【深基2.例7】数字反转

  • string字符串可以用数组表示
  • int len=a.size();可以读取字符串的长度,a中字符下标从0开始

P5711 【深基3.例3】闰年判断

只要百度一下闰年的判断条件就好了

P5716 【深基3.例9】月份天数

  • 建一个记录每个月天数的数组,为了方便输出,把数组容量设为13
  • 判断是否是闰年,如果是2月且是闰年就输出29,否则就按数组输出

P5708 【深基2.习2】三角形面积

printf()函数可以控制精度,精度格式符以“.”开头,后跟十进制整数

P5718 【深基4.例2】找最小值

学到了一个快速排序的函数sort(start,end,cmp)默认是升序,时间复杂度为n*log2(n),执行效率较高

P1980 [NOIP2013 普及组] 计数问题

主要是逻辑问题,就是对一个整数先取模再除10得到它的每一位,再与查找的数进行比较

P2669 [NOIP2015 普及组] 金币

简单的模拟问题

P5732 【深基5.习7】杨辉三角

简单的一个数学模型,一开始总是出错,查了半天才发现就相差一个等号

P5015 [NOIP2018 普及组] 标题统计

这题思路不难,但有个陷阱,就是不能用cin标准输入流,因为这样读取字符串长度时会忽略空格,所以我一开始用的gets,可是好像是因为现在不支持这个用法了,去搜了一下,发现改成cin.getline(s,10)才行。

P1125 [NOIP2008 提高组] 笨小猴

char s[xx];cin>>s;strlen(s);很好用

刚开始因为没有给sum[26]初始化,总是不对,后来问了其他人才知道是这个问题,以后定义变量尽量写在main前面吧

P1308 [NOIP2011 普及组] 统计单词数

  • 问题:有两个字符串a、b, 现想判断a字符串是否包含b字符串,该如何设计程序?
  • 思路:此处需要用到string库中的find函数与npos参数。
  • 这题就用了b.find(a)==string::npos,意思就是在b中是否包含了a字符串,npos就是指没有

P5737 【深基7.例3】闰年展示

在之前的闰年判断基础上加上一些输出就好了

P5733 【深基6.例1】自动修正

大写字母的ascii值比小写字母的ascii值小32

P5734 【深基6.例6】文字处理软件

本题记录一下STL:标准模板库,这题主要用到以下三种

  • substr:生成子串,输入位置和长度
  • insert:在字符串中插入字符串,输入插入位置和插入子串
  • find:查找字符串中某个字符串并返回它的位置,如果找不到可以写成:str.find(str1)==string::npos

P1553 数字反转(升级版)

有点繁琐

P1093 [NOIP2007 普及组] 奖学金

这题用结构体和sort函数就很简单,思路也很清晰了

先用结构体定义一个student类型的变量,然后定义一个排序方法即标准叫cmp,用来放在sort函数的第三个变量中,其次就直接用sort快速排序,排完了输出5行就好了。

P2670 [NOIP2015 普及组] 扫雷游戏

定义两个二维数组,一个表示一开始输入的字符,还有表示后来输出的数字,一边输入,一边判断,如果是“*”那它相邻的八个位置都要+1,

一开始只能60分,后来发现是数组没有初始化导致的,初始化了一下就好了。

P1068 [NOIP2009 普及组] 分数线划定

将下标也放进了一个数组,方便了很多

P1036 [NOIP2002 普及组] 选数

P2010 [NOIP2016 普及组] 回文日期

暴力枚举

P2241 统计方形(数据加强版)

看了大佬的题解,太强了,太巧妙了

计算一种尺寸的正方形或长方形,其实就是长和宽的长度同时各减去一个数,学到了

P1143 进制转换

getchar()快于scanf(),所以常常用来压时间

P1372 又是毕业季I

分析之后很简单,就是实际问题到数学问题的转化

P1029 [NOIP2001 普及组] 最大公约数和最小公倍数问题

两个数的积等于它们最大公约数与最小公倍数的乘积

P1177 【模板】快速排序

 

 

posted @ 2022-03-14 13:34  Athena-ydy  阅读(45)  评论(0编辑  收藏  举报