- 博客(8)
- 资源 (2)
- 收藏
- 关注
原创 数组名a是地址,那么&a是什么?
数组名a是地址,那么&a是什么?也是地址。验证如下:#include int main(){ int a[2] = {0,1}; printf("%p\n%p\n",a,&a); return 0;}结果:两者一致。
2013-08-31 11:33:13 884
原创 《编程之美》一摞烙饼的排序
题目:盘子中一堆烙饼,杂乱放着。一位有强迫症的顾客看到后,心里很不舒服,打算把这些饼给从小到大、从上到下放好。他注意到这些烙饼大小不一,心想该如何把它们放好。想了半天,他一手托着盘子,一手抓住最上面的几块饼,把它们上下颠倒个个,几次之后,顺序排列好了。他心里也舒服多了。假如用程序描述这位强迫症顾客的行为,该如何描述?尽量优化。想法:1、先找大的:由于一次要翻转最上面的几块饼,并且是颠倒
2013-08-30 22:37:28 657
原创 《编程之美》1.2象棋问题
题目略。思路:根据规律,将帅所在位置代号之差整除3后不等于0的情况下,说明两者不在同一纵列,否则在一纵列。代码如下:【未写注释】#include int main(){ unsigned char ab; for(ab = 0x11;ab<=0x99;ab = ab + 0x10) { ab = (ab & 0xf0) | 0x01;
2013-08-30 19:20:10 561
原创 类型强制转换的问题
存在BUG的代码:#include int array[]={23,34,12,17,204,99,16};#define TOTAL_ELEMENTS (sizeof(array)/sizeof(array[0]))int main(){ int d=-1,x; if(d<=TOTAL_ELEMENTS - 2) x=array[d+1];
2013-08-30 16:14:42 599
原创 使用预处理命令注释代码
使用/* */注释多行代码时,有可能遇到注释嵌套的问题,现在使用预处理命令,就可以解决这样的问题了。代码如下:#if 0 code/statements#endif
2013-08-30 11:27:22 728
原创 求1~1000的质数(素数)
题目:求1~1000的质数(素数)思路:素数、即质数,是在大于1的整数中只能被1和其自身整除的数。检查一个正整数N是否为素数,最简单的方法就是试除法,将该数N用小于等于根号N的所有素数去试除,若均无法整除,则N为素数。代码:#include #include #define MAXSIZE 1000int main(){ int prime[500]; in
2013-08-30 10:08:37 4206
原创 约瑟夫环的解决
约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。 自己编写的:#include struct ysf_node{ struct ysf_node* prev;
2013-08-29 11:47:58 416
转载 长度为0的数组——C语言的非标准用法之一
在标准C和C++中,长度为0的数组是被禁止使用的。不过在GNU C中,存在一个非常奇怪的用法,那就是长度为0的数组,比如Array[0];很多人可能觉得不可思议,长度为0的数组是没有什么意义的,不过在这儿,它表示的完全是另外的一层意思,这个特性是不可移植的,所以,如果你致力于编写可移植,或者是稍稍需要跨平台的代码,这些Trick最好还是收起来的好。在GNU的指南中,它是如此写道:struc
2013-08-27 22:23:03 583
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人