该博客记录刷算法笔记当中一些零碎的知识点,使用c++语言 实时更新 @TOC
2020/3/11
1 break和continue区别
break:该循环全部结束
continue:continue后面的语句不执行 直接跳到i++那个循环
2 c++输出小数位数
①头文件#include
cout<<setiosflags(ios::fixed)<<setprecision(2)<<a; //输出2位小数位数
若是没有setiosflags(ios::fixed)则输出的是有效位数
②使用c语言输出
#include
printf("%.2f**",a);**
③用2个%%输出%,因为%不是一般的字符 所以规定用2个%输出
3主元(超过一半数的数的查找)
① 用map
②用计数法 相邻的不同count-1,用a记录,count是a的个数 count为0则更新a 遍历一遍以后的数一定是主元
4写代码习惯
1 等号 == 和赋值 = != 前后隔一个空格,
2 判断if()== true 先打后面的 然后再括号里写数据
3 for()中 注意最后是i++,还是i–; 不要顺手写成i++;
4在使用 ==做判断时 ,反过来写
例如
if(count==0)// 注意:写成 if(0 == count) 因为反过来写 如果把== 写成 =, 0=count程序会直接出错,不会执行,这样比较容易发现错误 否则很难找到错误
{
cout<<cout<<endl;
}
5pat A1071 对一句话遍历分割出 一个个单词
利用2个while循环,第二个循环中if(判断str【i】是否合法) 记住下标及len++ 最后利用word=strsub(j-len,j)得到一个个单词 ,具体看链接
6 scanf()使用注意点
使用scanf() 输入字符串时 char 注意空格和回车,因为遇到会停止,
要用、 %*c跳过 getchar()吸收 或者scanf(“%c %c”,&a,&b)隔开
给你 A B
输入代码:
char s1,s2
scanf("%c %c",&s1,&s2);//注意隔开
7strcmp()函数的使用
strcmp(str1 ,str2 )比较2个str的大小
返回值:
(1)字符串1=字符串2,返回0
(2)字符串1>字符串2,返回一个正整数
(3)字符串1<字符串2,返回一个负整数。
注意使用strcmp(str1 , “push”)
可用于输入时采用文字类型的栈的模拟
pushx pop push b pops……