![46d78e779de67d5abcd907d8a12ff3e1.png](https://img-blog.csdnimg.cn/img_convert/46d78e779de67d5abcd907d8a12ff3e1.png)
- P3 sqrt()计算算术平方根,头文件<math.h>
- 若定义了变量a为double类型,则scanf()方式输入的时候须%lf而不是%f;反之亦然。输出的时候则不需要考虑。
![c5a5cb1e0d2e654358e1f772bb805dbe.png](https://img-blog.csdnimg.cn/img_convert/c5a5cb1e0d2e654358e1f772bb805dbe.png)
![e97ea2ce480af43d20fd2e84a5c083b7.png](https://img-blog.csdnimg.cn/img_convert/e97ea2ce480af43d20fd2e84a5c083b7.png)
3.π通常可以这样声明:(尽量用const声明关键的常数)
const double pi=acos(-1.0);
4.例题1-2(P6)
输入一个三位数,分离出它的百位、十位、个位,反转后输出。
分析:百位:n/100%10 十位:n/10%10 个位:n/1%10
所以,基本上可以得出想要的K位数字等于(个位k=10^0,十位k=10^1以此类推)
n/k%10
5.利用printf特性在前补零
printf("%03d",m); /*控制宽度为3,不足位数补0*/
6.变量交换的两种方式(采用中间变量和不采用中间变量)
![89e7752169c8f5ce4623bff3763d7013.png](https://img-blog.csdnimg.cn/img_convert/89e7752169c8f5ce4623bff3763d7013.png)
![052aceff3d4ae1326cccc8f080e22007.png](https://img-blog.csdnimg.cn/img_convert/052aceff3d4ae1326cccc8f080e22007.png)
但是还是要说,进行变量交换的时候尽可能采用第一种方法,不容易出错!
7.C语言中逻辑运算符都是短路运算符(非 ! 与 && 或 || ),一旦能确定整个表达式的值就不再计算。有时候可以利用这一特性完成相关问题。
8.函数floor(x)返回不超过x的最大整数。
http://9.int一般是32位整数,范围是-2147483648-2147483647
10.(P37)程序3-1 逆序输出
![60e570e6ff048d3994f8158a2be21c4d.png](https://img-blog.csdnimg.cn/img_convert/60e570e6ff048d3994f8158a2be21c4d.png)
竞赛中,往往难以精确计算需要的数组的大小,因而一般可以声明的稍大一些。
比较大的数组应该尽量声明在main函数外,否则程序可能因为数组稍大而异常退出。
11.memcpy(b,a,sizeof(int)*k)数组a复制k个元素到数组b
memcpy(b,a,sizeof(a))数组a全部复制到数组b
12.开灯问题
有n盏灯,编号为1~n,第1个人把所有灯打开,第2个人按下所有编号为2的倍数的开关(这些灯将被关掉),第3个人按下所有编号为3的倍数的开关(其中关掉的灯被打开, 开着灯将被关闭),依此类推。一共有k个人,问最后有哪些灯开着?
输入:n和k,输出开着的灯编号。k≤n≤1000。
样例输入:7 3
样例输出:1 5 6 7
分析: