算法竞赛入门经典(刘汝佳)1

来源:互联网 发布:手机淘宝快速秒杀器 编辑:程序博客网 时间:2024/05/18 07:55

1、const 关键字表明它的值是不可以改变的。

2、要输出025,也就是输出以0开头,把输出格式变为%03d即可,3表示输出的位数。

3、函数floor(x),表示返回 x 的整数部分。必须包含头文件”math.h“。

4、continue 语句起作用为结束本次循环,即跳过循环体下面尚未执行的语句,接着进行下一次是否执行循环的判定;

      continue 语句和break 语句的区别是:continue语句只结束本次循环,而不是终止整个循环的执行。而break 语句则是结束整个循环过程,不再判断执行循环的条件是否成立。

5、可以使用time.h 和 clock()函数获得程序运行时间。常数CLOCKS_PER_SEC 和操作系统相关,请不要直接使用 clock()的返回值,而应总是除以CLOCKS_PER_SEC 。

6、scanf函数有返回值,它返回的是成功输入的变量个数,当输入结束时,scanf无法再次读取 x,返回结果为0。在     Windows下,输入完毕后先按Enter键,再按Ctrl+Z键,最后再按Enter键,即可结束输入。在Linux下,输入完毕后按Ctrl+D键即可结束输入。while(scanf("%d", &x) ==1),当输入个数不确定时,可以采取这样的形式赋值。

7、使用文件最简单的方法是使用输入输出重定向,只需要在main函数的入口处加入以下两条语句:

freopen("input.txt", "r", stdin);

freopen("output.txt", "w", stdout);

它使得scanf从文件input.txt读入,printf 写入文件output.txt。

8、数组a的定义放在main函数外面时,数组a可以开得很大;放在main函数内时,数组稍大就会异常退出。所以比较大的数组应尽量声明在main函数外。

9、数组的复制:(必须包含头文件string.h)

如果要从数组a复制k个元素到数组b,可以这样做:memcpy(b, a, sizeof(int)* k)。

当然如果数组a和b都是浮点型的,复制是要写成memcpy(b, a, sizeof(double)* k)。

全部复制可以写为memcpy(b, a, sizeof(a))。












0 0