如果觉得文章有帮助到你,Thanks♪(・ω・)ノ请一键 3 连吧!点赞、收藏加关注。富哥富婆可以打赏点(文章末尾右下角)!
【注意】请读者在阅读文章的时候多多利用浏览器的页面搜索功能:Ctrl+F唤出搜索框(esc键退出搜索功能)。如此可以快速搜索到你想要的内容。
文章目录
- 常用的C/C++库
- 循环结构
- continue和break区别
- 关于曼哈顿距离
- 输出菱形
- 输出空心菱形
- 在写题的时候,要尤其注意数据类型
- 什么是质数
- 什么是约数
- 在线代码检测时需要注意的一些点
- 三目运算符
- 求绝对值函数
- a++和++a有什么区别?
- const的作用
- memset/memcopy
- 网络宽带中的/下载上传速度“M(兆)”是什么意思
- Markdown文字颜色、高亮、字体字号设置
- 参考资料
常用的C/C++库
#include #include #include #include
循环结构
基本思想:把控制循环次数的变量从循环体中剥离
for(init statement; condition; experssion){statement;}
init statement可以是声明语句、表达式、空语句,一般有俩初始化循环变量,可以
condition是条件表达式,和while中的条件表达式作用一样,可以为空,空语句表示true
expression一般负责修改循环变量,可以为空
一般情况下,递归的效率是不如循环高的。递归转化为汇编之后又很多额外的操作,比如,函数调用和函数返回的操作。
continue和break区别
break和continue是python语言循环中最常用的两个保留字。
- break语句的作用
- 在分支结构程序设计中用break语句可以使流程更加的简洁。
- break语句可以用来从循环体内中途跳出循环体,即提前结束所有的循环操作,接着执行循环体之后的语句。
- continue语句的作用
continue语句是跳过循环体中剩余的语句而强制执行下一次循环操作。其作用为结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。 - 注意事项
- 在循环语句中,break语句一般都是与if语句一起使用。
- continue语句一般都是与if语句一起使用。
- 区别
- continue语句只结束本次循环,而不是终止整个循环的执行;
- break语句则是结束整个循环过程,不再判断执行循环的条件是否成立。
关于曼哈顿距离
曼哈顿距离可以用下面的表格来表示:表格中每个点距离红色原点坐标差的绝对值和纵坐标之差的绝对值,这两者之和就是曼哈顿距离。
曼哈顿距离也可以看做是从起点走到目标点一共需要的步数。
如下图所示:最左上角的点的曼哈顿距离为4,主对角线向下一个点距离原点的曼哈顿距离为2,其他以此类推。
4 | 3 | 2 | 3 | 4 |
---|---|---|---|---|
3 | 2 | 1 | 2 | 3 |
2 | 1 | • | 1 | 2 |
3 | 2 | 1 | 2 | 3 |
4 | 3 | 2 | 3 | 4 |
曼哈顿距离表达公式: ∣ x1− x2∣ + ∣ y1− y2∣\vert x_{1}-x_{2}\vert+\vert y_{1}-y_{2}\vert∣x1−x2∣+∣y1−y2∣
输出菱形
利用了上面的曼哈顿距离的知识点。
#include using namespace std; int main(){int n;cin>>n;int centerX=n/2,centerY=n/2;for(int i=0;i<n;i++){for(int j=0;j<n;j++){if(abs(i-centerX)+abs(j-centerY)<=n/2)cout<<"*";elsecout<<" ";}cout<<endl;}return 0;}
输出空心菱形
同样应用了曼哈顿距离的知识点。
只需要将上方代码中的abs(i-centerX)+abs(j-centerY)<=n/2更换为abs(i-centerX)+abs(j-centerY)==n/2,如下:
#include using namespace std; int main(){int n;cin>>n;int centerX=n/2,centerY=n/2;for(int i=0;i<n;i++){for(int j=0;j<n;j++){if(abs(i-centerX)+abs(j-centerY)==n/2)cout<<"*";elsecout<<" ";}cout<<endl;}return 0;}
在写题的时候,要尤其注意数据类型
在写题目的时候要尤其注意选择的数据类型,不能有可能导致输出数据错误。示例如下:
#include using namespace std;int main(){int a[6],b=0;for(int i=0;i>a[i];if(a[i]>0)b++;}cout<<b<<" positive numbers"<<endl;}
什么是质数
质数指的是在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。
continue结束本次循环,不再执行之后的语句,直接进行下一个循环的执行。
什么是约数
约数,又称因数。
整数a除以整数b(b≠0) 除得的商正好是整数而没有余数,我们就说a能被b整除,或b能整除a。a称为b的倍数,b称为a的约数。
在大学之前,”约数”一词所指的一般只限于正约数。
- 范例
在自然数(0和正整数)的范围内,
4的正约数有:1、2、4。
6的正约数有:1、2、3、6。
10的正约数有:1、2、5、10。
12的正约数有:1、2、3、4、6、12。
15的正约数有:1、3、5、15。
18的正约数有:1、2、3、6、9、18。
20的正约数有:1、2、4、5、10、20。
注意:一个数的约数必然包括1及其本身。 - 相关概念
如果一个数c既是数a的因数,又是数b的因数,那么c叫做a与b的公因数。
两个数的公因数中最大的一个,叫做这两个数的最大公因数。
约数,也叫因数。
在线代码检测时需要注意的一些点
在线的代码检测系统中,输入和输出并不一定要理解成先输入所有的东西然后一股脑的全输出出来,如下:
实际情况可以是输入一个,输出一个,在线评测的时候两种其实都对。
但是实际上看题目的时候要仔细看,万一题目要求全部输入之后再输出,那么就要注意了,别输错了。
三目运算符
表达式1″ />求绝对值函数 C++中有两个库函数下有对应的求绝对值的函数: 输出即为a的绝对值1。 #include内,有fabs()函数,可以对浮点型变量求绝对值。示例如下: a++的计算结果跟程序执行过程有关,有可能是加上1,有可能不加1,计算过程是先执行a,之后在增加1。 专为程序设计者的需求设计的:当你不想让别人能够修改这个变量的时候,就在数据类型前面加个const。 以 100M 宽带为例,这里所谓的 “M”,其实单位是 Mbps (Million bits per second,即 Mbit/s(兆比特每秒),bit(比特)代表二进制的位,是计算机中存储最小的单位。 他人文章
#include内,有fabs()函数,可以对浮点型变量求绝对值。示例如下:#include#includeusing namespace std;int main(){int a=-1;cout<<fabs(a);return 0;}
#include#includeusing namespace std;int main(){int a=-1;cout<<fabs(a);return 0;}
a++和++a有什么区别?
++a的计算结果是a加上1,计算过程是先加上1,之后再执行a。const的作用
当变量被设置为“const 数据类型 变量”时,该变量是只读的,不可以修改,试图执行修改该变量的语句会报错memset/memcopy
所在库 用法 cstring库 memset(数组名,初始化值,要初始化的长度,该函数所有的单位都是 字节byte) 网络宽带中的/下载上传速度“M(兆)”是什么意思
Markdown文字颜色、高亮、字体字号设置
参考资料