201903:
1.需要存储较多的数时,可以使用静态数组,即作为全局变量声明,因为堆提供的空间更大,全局变量存储在堆中,局部变量存储在栈中。
看题目时看仔细,比如那个1<=n,m<=1000,是n和m的范围在1000之内,,由于给定的n,m最大可以是1000,如果直接在main函数中开1000*1000的数组程序会崩溃,所以要把这个数组设置成全局变量。看错了以为n大于1,m小于1000,以后要注意。
2.判断数n是奇数还是偶数的方法:(1)n%2!=0为奇数,0为偶数。(2)从二进制(补码)的角度:n&10为偶数,1为奇数。a&b是a的补码与b的补码按位进行与运算,也就是乘。与1进行与运算也就是将前几位清0,只留补码最后一位,奇数补码最后一位为1,偶数补码最后一位为0,也就是将补码最低位抠出来。
3.判断一个数是否为整数的方法: 被除数%除数0,中位数就是(a+b)%2==0。
4.c++中可直接使用swap(a,b)函数,在std空间中,可为任意数据类型(这个函数可以用在很多,用的时候需要再学习)。
5.这种有运算顺序规定的,学到可以使用数据结构的栈,想当初考试的时候还写的乱七八糟。泪奔,终于知道为什么学数据结构和怎么用他了,感谢学了java,通过Java的包,让我也知道了c++的stl是咋回事和怎么用。
6.栈在c++中可以直接用,c++stack容器介绍 - 我的ACM - 优快云博客
https://blog.youkuaiyun.com/chao_xun/article/details/8037420,因为是有运算顺序,而且以前讲栈的时候说过这种类似的,不能用队列,因为遇到乘除需要先算出来,再把算出来的压入栈,如果是队列就会改变数的位置。又因为减法的结合性是从左往右,所以一定要将减法变为加法,因为减法在下一个数前,只需将减法符号看作负号,将下一个负数压入数字栈。还有,当栈为空,还要访问栈顶元素时,会不正常退出,原来用了两个if,会两个都访问,但因为可能在上一个栈已经为空,所以不正常退出了。这个巧妙地用了一个数字栈,一个符号栈,输入的是一个字符串,声明为数组,C语言 gets()和scanf()函数的区别 - wanghetao - 博客园
https://www.cnblogs.com/wanghetao/archive/2011/11/01/2232234.html。使用scanf,getchar需要加stdio.h头文件。使用string的strlen函数需要string.h或者cstring 头文件。数字字符转为数字,只需‘9’-‘0’,数字转为字符,只需要加上‘0’。加减乘除的符号,只需选择。
7.int可表示的范围在10的9次方,超过,一般用long long型。不知道为什么那个有错,明明逻辑没有错。
8.#include<bits/stdc++.h>是万能头文件,包括c++所有的头文件
9.c语言输出字符数组出现汉字乱码解决方法 - 代码海中一粒米 - 优快云博客c++也适用
https://blog.youkuaiyun.com/lsl30522/article/details/90344116。
输入字符串时,可以声明为字符数组,然后gets(),输出时直接可以cout。
10.memset()函数及其作用 - 落叶随枫 - 优快云博客,数组初始化,好像有注意事项,遇见再说
https://blog.youkuaiyun.com/qq_27522735/article/details/53374765
11.声明迭代器时太麻烦,c11出来一种新的自动推断变量类型,可惜我的编译器不是c11
C++ auto 关键字的使用 - 自由真实个性 - 博客园
https://www.cnblogs.com/KunLunSu/p/7861330.html
然后声明迭代器,可以看ccf201403-2,或者日沉云起博主大大的这道题解法里也有.
12.string和stringstream用法总结 - xw20084898的专栏 - 优快云博客
https://blog.youkuaiyun.com/xw20084898/article/details/21939811,学到一个新东西,而且有string和字符数组的区别,写的挺好。补充的字符串流stringstream_dream2009gd_新浪博客
http://blog.sina.com.cn/s/blog_63a9d9f301011bkc.html
13.又用到了map,map真的好用,还可以自动按键排序,用到了stringstream,按空格分割字符串蛮好用,string的输入输出也比较好用,输入完数字后再输入字符串,要getchar,将回车键去掉。ccf201403-3
14.C语言中关于float、double、long double精度及数值范围理解_Roberl_新浪博客
http://blog.sina.com.cn/s/blog_6ebd49350101gdgo.html
15.https://github.com/ruanyf/free-books,微博上马住的一些免费书籍
16,字符串匹配知道了string里的find函数,可匹配子串,如果一个字符串,在str中出现,返回第一个字符在str中的索引,如果不出现返回string::npos,所以如果找到,条件为if(size_t found!=string::npos).还有rfind函数是找到最后一个出现的子串的位置,匹配区分大小写。
C++ string中find() ,rfind() 等函数 用法总结及示例 - Just To Be - 优快云博客
https://blog.youkuaiyun.com/youxin2012/article/details/9162415
另外transform(str.begin(),str.end(),str.begin(),::toupper),可将字符串str里的字符全都转化为大写,::tolower转化为小写,不会改变除了字母以外的其余字符。
C++ STL string 大小写转换 - linz的博客 - 优快云博客
https://blog.youkuaiyun.com/Aerry_ale/article/details/81321963
17.正则表达式可以用到字符串匹配
正则表达式 – 语法 | 菜鸟教程
https://www.runoob.com/regexp/regexp-syntax.html
18.sort挺重要的
刷ccf学到的知识
最新推荐文章于 2024-11-12 23:10:51 发布