算法竞赛入门经典笔记1

1.整数值用%d输出,实数用%f输出

2.整数/整数=整数

3.在算法竞赛中,每行输出均应以回车符输出,每输出两个数或字符应该以空格隔开。

4.逻辑运算符都是短路运算符

5.sincos函数的参数是弧度值=角度值除以180乘以π

6.判断闰年 能整除4但不能整除100 ||能整除400

7.int的取值范围-2147483648~214748364732位)

8.double的范围10-307-10308

9.逻辑运算符结合方向自左向右,!高于&&||

10.为了减小浮点数的误差floor(x)会写成floor(x+0.5)

11.注意程序中间的溢出

12.计算完取余(时间太久)可以每步取余

13.取后一位=%10,后两位=%100,后n=%10n

14.程序运行时间time.hclock()/CLOCKS_PER_SEC

15.变量在未赋初值前的值等于1

16.把输入输出用文件保存,输入输出重定向

freopen(“input.txt”,”r,stdin);

freopen(“output”,”w”,stdout);

17.可以使用条件编译指令,重要的测试应该加注释而非删掉

18.偌需要文件输入输出,但不能用重定向:先声明变量FILE *fin*fout,scanf改为fscanf,第一个参数fin,把print改为fprint,第一个参数fout,最后fclose()

19.多组数据程序中,可能会出现:计算为一组后某些变量没有重置,而导致错误

20.韩信点兵的算法:357,排队公倍数105,三人一排的余数 乘以7057的倍数,除三余1),五人一排的余数乘以21.,七人一排15。(三人同行七十稀,五树梅花二十一枝,七子团圆正半月,除百零五便得知)

21.scanf读进多个数据,要用%d%d%d,而非%d,%d,(不带逗号)

22.读取文件,按case输出不太会

23.比较大的数组尽量声明在main函数之前,否则程序可能无法成功运行。

24.数组可以用来表示一组sth是否被使用,状态的差别。

25.可以设置一个标志量f,除了数组第一个意外都输出空格。iffirst{first=0;} else{printf(“ “);}

26.1001,可以用异或,或者!

27. 蛇形填数,矩阵不动,将轨迹的运动规律放在要改动的那一格的坐标上。

28.  打印七行不一定要7printf,可以用\n

29.strchr()字符串中查找单个字符

30.使用fgetc(fin)可以从打开的文件fin中读取一个字符,一般情况下应当在检查它不是EOF后转化成char,从标准输入读取一个字符可以用getchar,等价于fgetc(stdin),第二种方法使用fgets(buf,maxn,fin)读取完整的一行,读到\n停止

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值