晴问算法题库解题记录
晴神的网站 牛!! 在此处记录一下本人解题的过程,一些注意点,知识点
一、入门类别
1.各个类型:
- 整型int:%d的范围是从$-2^{31}~2^{31}-1$(即从-2147483648到2147483647),简单估算可以认为是绝对值在$2*10^9$以内。【大致10位数字】
- 长整型long long:%lld的范围是从$-2^{63}~2^{63}-1$,简单估算可以认为是绝对值在$9*10^18$以内。【大致18位数字】
- 字符型char:%c
- scanf()函数:scanf可以通过指针的方式理解。这篇博文讲解的很详细,非常感谢
- printf()函数:可以控制输出位数。输出两位浮点数%.2f,输出浮点整数%.0f。
- 强制类型转换:如(double)a。
- 运算符:
- 整除/:这是保留整数部分。如果想要使用浮点出发,需要将其中一个数(或两个数)强制转变为浮点型才可以。
- 定义常量:用const。如const double PI=3.14 有两种方法#define和const但define是宏替换,一般不在这里使用。常量变量名一般用全大写。
- 条件运算符:如a>b?a=2:b=1
- 换行符:\n。注意方向
- 字符串转换:to_string()。注意要引用< string >
- getchar函数:用来输入单个字符。如c=getchar()。有一些题目需要先输入一个整数,然后输入多行字符串,这时候如果用gets、getline之类用来输入字符串的函数,都会把换行给接收到,导致输入的结果有问题。这时候可以考虑用getchar来接收整数后的换行,使后续的整行字符串能顺利读入。
- 数学函数:
以下都接收浮点型,返回的也是浮点型。
- fabs(a):a的绝对值
- floor(a):a的向下取整
- ceil(a):a的向上取整
- round(a):a的四舍五入(实际是四舍六入五成双)
- pow(a, b):a的b次方,其中b也可以是浮点型
- sqrt(a):a的算术平方根(即开根号)
- log(a):a的以自然对数 为底的对数
- 条件判断语句:
- if语句
- if-else
- switch:配合case和default以及break和continue
- 循环语句
- while
- do……while
- for
1~20题内容,以下将继续更新