晴问算法题库解题记录

晴神的网站 牛!! 在此处记录一下本人解题的过程,一些注意点,知识点

一、入门类别

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
  1. scanf()函数:scanf可以通过指针的方式理解。这篇博文讲解的很详细,非常感谢
  2. printf()函数:可以控制输出位数。输出两位浮点数%.2f,输出浮点整数%.0f。
  3. 强制类型转换:如(double)a。
  4. 运算符
    • 整除/:这是保留整数部分。如果想要使用浮点出发,需要将其中一个数(或两个数)强制转变为浮点型才可以。
  5. 定义常量:用const。如const double PI=3.14 有两种方法#define和const但define是宏替换,一般不在这里使用。常量变量名一般用全大写。
  6. 条件运算符:如a>b?a=2:b=1
  7. 换行符:\n。注意方向
  8. 字符串转换:to_string()。注意要引用< string >
  9. getchar函数:用来输入单个字符。如c=getchar()。有一些题目需要先输入一个整数,然后输入多行字符串,这时候如果用gets、getline之类用来输入字符串的函数,都会把换行给接收到,导致输入的结果有问题。这时候可以考虑用getchar来接收整数后的换行,使后续的整行字符串能顺利读入
  10. 数学函数: 以下都接收浮点型,返回的也是浮点型。
    • fabs(a):a的绝对值
    • floor(a):a的向下取整
    • ceil(a):a的向上取整
    • round(a):a的四舍五入(实际是四舍六入五成双)
    • pow(a, b):a的b次方,其中b也可以是浮点型
    • sqrt(a):a的算术平方根(即开根号)
    • log(a):a的以自然对数 为底的对数
  11. 条件判断语句:
    • if语句
    • if-else
    • switch:配合case和default以及break和continue
  12. 循环语句
    • while
    • do……while
    • for

1~20题内容,以下将继续更新