算法竞赛入门经典第二版

根据规范做事情,则一切尽在掌握中。

一般来说,只要在程序中用到了数学 函数,就需要在程序最开始处包含头文件math.h,并在编译时连接数学库。

Keep It Simple and Stupid,KISS .

从现在开 始直接认为你学的不是C语言,而是C++语言中与C兼容的部分。这样一来,ANSI C、C99 之类的名词都和你无关了。

如果真的要输出斜线“ \ ”和字符n,怎么办?方法是 “ printf(" \n ");”,编译器会把双斜线 “ \ ” 理解 成单个字符 “ \ ” 。

如何用C语言,输出%d、\n等特殊字符?

include

int main()
{
printf("%%d"); //在屏幕中输出%d

printf("\n"); //在屏幕中输出\n

printf("%%%%%d"); //%%0

printf("%d"); //0

printf("%%%%d"); //%%d

return 0;
}

floor(x),有时候也写做Floor(x),其功能是“下取整”,或者说“向下舍入”,即取不大于x的最大整数(与“四舍五入”不同,下取整是直接去掉小数部分),与floor函数对应的是ceil函数,即上取整函数。
有趣的是,要实现 四舍五入,只需要 将代码中的 floor(m)改成floor(m+0.5)就可以了。

计时函数clock()的使用。该函数返回程序目前为止运行 的时间。这样,在程序结束之前调用此函数,便可获得整个程序的运行时间。这个时间除以 常数CLOCKS_PER_SEC之后得到的值以“秒”为单位。
如:

include

......
printf("time used = %.2f\n " , ( double )clock()/CLOCKS_PER_SEC);
return 0;
}

在Windows下,输入完毕后先按Enter键,再按Ctrl+Z键,最后再按Enter 键,即可结束输入。在Linux下,输入完毕后按Ctrl+D键即可结束输入。

重定向和fopen两种方法各有优劣。重定向的方法写起来简单、自然,但是不能同时读 写文件和标准输入输出;fopen的写法稍显繁琐,但是灵活性比较大(例如,可以反复打开 并读写文件)。顺便说一句,如果想把fopen版的程序改成读写标准输入输出,只需赋值“fin =stdin;fout=stdout;”即可,不要调用fopen和fclose。

你可能感兴趣的:(算法竞赛入门经典第二版)