笔试
对方感受到
走自己喜欢的路,让别人说去
展开
-
指向二维数组的指针定义方式
看了一些资料,指向二维数组的指针定义方式并不是直接定义指针的指针int a[3][6];int **p=a; 像这样定义是错误的因为a代表着除了第一列以外的列数的维数大小,如a+1的地址就是a[1]的地址,也就是a[1][0]的地址,而p仅是整形指针的指针,没跨越一次就是4字节,因此他们的大小是不匹配的,所以这样子直接等于号是不正确的。要真正的定义方式应概是定义指原创 2012-10-12 21:44:42 · 30318 阅读 · 0 评论 -
将无符号整形每一位都翻转过来
最近笔试的时候碰到了这样的题目,但是不会做,回来查了一下书之后,其实现与君共享。如 00000000 00000000 00000000 00000011 反置后为 11000000 00000000 00000000 00000000 不需要通过循环unsigned rev(unsigned x){x=(x & 0x55555555) > 1;x翻译 2012-10-21 22:27:37 · 1013 阅读 · 0 评论 -
计算一个数的二进制的存在的一的位数
如题:这里提出两种实现方法1、不需要通过循环int CNByteNum(int x){ x=(x & 0x55555555) + ((x>>1) & 0x55555555); x=(x & 0x33333333) + ((x>>2) & 0x33333333); x=(x & 0x0F0F0F0F) + ((x>>4) & 0x0F0F0F0F); x=原创 2012-10-21 22:29:36 · 567 阅读 · 0 评论 -
实现两个有序链表的合并
如题,实现两个带头链表的合并,返回合并后的链表的头指针#includeusing namespace std;struct Node{ //节点类型int data;Node *next; };Node * pSort(Node *a,Node *b) //带有头指针的链表 {if(a->next==NULL)return b;if(b-原创 2012-10-21 22:33:35 · 563 阅读 · 0 评论 -
扑克牌8张朝上
最近在找工作,有一道笔试题是这样子的这里有20十张一样的扑克牌,用手摸是摸不出来他们的区别的,现在有8张正面朝上,16张正面朝下,问闭上眼睛,仅通过手来操作,如何将这20张排分成两堆,使得没堆正面朝上的牌数相等。一开始我一时还真摸不着头脑,不知道怎么入手,开始浮现在我头脑的竟然是把8张横着放,其他的竖着放然后就可以摸出来了。(哎,我也是太天真了,以为是小学IQ题吗?)回来后,跟转载 2012-10-12 21:00:41 · 3399 阅读 · 3 评论 -
回旋数的求解
回旋数就是从中间的1开始然后围绕着这个1,按自然数的增长形式回旋1,如:43444546474849 42212223242526 4120原创 2012-10-21 22:42:34 · 1253 阅读 · 0 评论