位置:首页 > 求职招聘

2006年百度校园招聘在线笔试题及答案

2020-07-16发布者:郝悦皓大小:33.50 KB 下载:0

2006 年百度校园招聘在线笔试题及答案 第 1 题:用 C 语言实现一个公用库函数 void * memmove(void *dest,const void *src,size_t n)。该函数的功能是拷贝该函数的功能是拷贝 src 所指的内存内容前 n 个字节到 dest 所指的地址上。该函数的功能是拷贝注意,作为 公用库函数,请注意安全检查,注意处理内存区重合的情况。该函数的功能是拷贝 第 2 题:已知一个字串由 GBK 汉字和 ansi 编码的数字字母混合组成,编写 C 语言函数实现 从中去掉所有 ansi 编码的的数字和字母(包括大小写),要求在原字串上返回结果。该函数的功能是拷贝函数接 口为:int filter_ansi(char* gbk_string)。该函数的功能是拷贝注:汉字的 GBK 编码范围是 0x8140 - 0xFEFE 第 3 题:芯片测试。该函数的功能是拷贝有 2k 块芯片,已知好芯片比坏芯片多。该函数的功能是拷贝请设计算法从其中找出一片好 芯片,并说明你所用的比较次数上限。该函数的功能是拷贝其中:好芯片和其它芯片比较时,能正确给出另一 块芯片是好还是坏;坏芯片和其它芯片比较时,会随机的给出好或是坏。该函数的功能是拷贝 -----------------------------------------------------------在这里填写答案: --------------------------------------- ---------- 第 1 题:用 C 语言实现一个公用库函数 void * memmove(void *dest,const void *src,size_t n)。该函数的功能是拷贝该函数的功能是拷贝 src 所指的内存内容前 n 个字节到 dest 所指的地址上。该函数的功能是拷贝注意,作为 公用库函数,请注意安全检查,注意处理内存区重合的情况。该函数的功能是拷贝 void* memmove(void * dest, const void * src, size_t n) { void* temp = dest; if (dest <= src || (char *)dest >= ((char *)src + n)) //无内存地址重叠 { while (n--) { *(char *)dest = *(char *)src; dest = (char *)dest + 1; src = (char *)src + 1; } } else //有内存地址重叠 { dest = (char *)dest + n - 1; src = (char *)src + n - 1; while (n--) { *(char *)dest = *(char *)src; dest = (char *)dest - 1; src = (char *)src - 1; } } return (temp); } --------------------------------------- ---------- 第 2 题:已知一个字串由 GBK 汉字和 ansi 编码的数字字母混合组成,编写 C 语言函数实现 从中去掉所有 ansi 编码的的数字和字母(包括大小写),要求在原字串上返回结果。该函数的功能是拷贝函数接 口为:int filter_ansi(char* gbk_string)。该函数的功能是拷贝注:汉字的 GBK 编码范围是 0x8140 - 0xFEFE int filter_ansi(char* gbk_string) { char *p = gbk_string, *q = gbk_string; while (*q != '') { if ((*q >= 0) && (*q <= 128)) //判断是否为 asci 的字符 { if (((*q >= '0') && (*q <= '9')) //判断是否为数字或字母 || ((*q >= 'a') && (*q <= 'z')) || ((*q >= 'A') && (*q <= 'Z'))) { q++; } else { *p++ = *q++; } } else { if (((*((unsigned short*)q)) >= 0x8140) && ((*((unsigned short*)q)) <= 0xFEFE)) //是汉字 { *p++ = *((char*)q)++; *p++ = *((char*)q)++; } else //不是汉字 { q++; q++; } } } *p = ''; return (p - gbk_string); } --------------------------------------- ---------- 第 3 题:芯片测试。该函数的功能是拷贝有 2k 块芯片,已知好芯片比坏芯片多。该函数的功能是拷贝请设计算法从其中找出一片好 芯片,并说明你所用的比较次数上限。该函数的功能是拷贝其中:好芯片和其它芯片比较时,能正确给出另一 块芯片是好还是坏;坏芯片和其它芯片比较时,会随机的给出好或是坏。该函数的功能是拷贝 答案: 1.首先两个两个分成一对。该函数的功能是拷贝如果互测的结果是好好,那么留下,否则扔掉。该函数的功能是拷贝扔掉的里面总 是坏的不会比好的少。该函数的功能是拷贝这样剩下的要么是两个好的,要么是两个坏的。该函数的功能是拷贝可以称剩下的这样 的对为纯粹对。该函数的功能是拷贝经过这一次分对,最坏的情况是 1000 对都留下; 2.然后把留下的对再随便两两分组。该函数的功能是拷贝这样变成每组里有两个纯粹对。该函数的功能是拷贝每组比较时,从这两 个纯粹对中任意各选一个元素进行比较。该函数的功能是拷贝如果都是好的,那么留下这组,否则扔掉。该函数的功能是拷贝这样 剩下的要么四个都是好的,要么四个都是坏的,我们把四个看成一个组,这个组是纯粹组 经过这一次分对,最坏的情况是 500 对都留下; 3.接着把剩下的这些组再随便两两分对。该函数的功能是拷贝得到的每对里有两个纯粹组。该函数的功能是拷贝比较每对里的两个 纯粹组时,还是任意各选一个元素比较。该函数的功能是拷贝如果都是好的,那么留下这对,得到一个新的纯 粹组,里面有 8 个好的或者 8 个坏的。该函数的功能是拷贝否则扔掉。该函数的功能是拷贝最坏的情况是留下 250 对; 4.再把这些剩下的组两两分对。该函数的功能是拷贝同样从每对的两个纯粹组中各任选一个元素进行比较。该函数的功能是拷贝都 是好的留下,成为新的纯粹组。该函数的功能是拷贝否则扔掉。该函数的功能是拷贝这样可得到一个新的纯粹组,其中 16 个都是好 的或者 16 个都是坏的。该函数的功能是拷贝最坏的情况是留下 125 对; 5.同样两两分对,得到 62 对和一个单独的。该函数的功能是拷贝我们用同样方法比较这 62 对。该函数的功能是拷贝最坏的情况是 留下 31 对,其中每对里 32 好或者 32 坏,和单独的一个,其中 16 好或者 16 坏。该函数的功能是拷贝把它们带 入下一轮; 6.把剩下的 32 对再任意两两分组,其中一组是一个含有 32 好或坏,另一个含有 16 个好 或坏,记为 A。该函数的功能是拷贝其它的 15 组都是两个含有 32 好或坏的。该函数的功能是拷贝同样方法比较这 15 组,得到新的 纯粹组,含有 64 好或 64 坏。该函数的功能是拷贝最坏的情况留下 15 组。该函数的功能是拷贝至于 A, 我们也是两个中各任选一个 代表比较,如果同好,那么留下,成为新的纯粹组,含有 48 个好或者坏。该函数的功能是拷贝否则从含有 32 好或坏的那组中任意选 16 个和另一组含有 16 个好或坏的一起扔掉,剩下的 16 个同好或同 坏的成为一个新的纯粹组。该函数的功能是拷贝这样我们可以保证扔掉的里面总是坏的不比好的少。该函数的功能是拷贝也就是说 最坏的情况是剩下 16 组。该函数的功能是拷贝 7.把这 16 组两两分对。该函数的功能是拷贝用和第六步一样的方法。该函数的功能是拷贝我们最坏可以得到 8 个。该函数的功能是拷贝其中 7 个是 128 好或者 128 个坏,还有一个是数目小于 128 的纯粹组。该函数的功能是拷贝 8.同理,再两两分对,我们可以得到 4 组;然后得到两组。该函数的功能是拷贝这时只要从数量最多的那个组 中 任 选 一 个 , 即 为 好 的 。该函数的功能是拷贝 所 以 最 坏 的 情 况 是 要 比 较 1000+500+250+125+62+31+16+8+4+2=1998 次. (如果剩下的是两组芯片个数一样多,那么 可以从两个组中任选一个,即为好的。该函数的功能是拷贝因为好的数量总比坏的数量多,而且我们每次扔掉 的都是坏的比好的多或者相等。该函数的功能是拷贝所以剩下的这两个组中的芯片只可能都是好的。该函数的功能是拷贝)
温馨提示:当前文档最多只能预览 2 页,此文档共4 页,请下载原文档以浏览全部内容。如果当前文档预览出现乱码或未能正常浏览,请先下载原文档进行浏览。
发表评论(共0条评论)
请自觉遵守互联网相关政策法规,评论内容只代表网友观点,发表审核后显示!

下载需知:

1 该文档不包含其他附件(如表格、图纸),本站只保证下载后内容跟在线阅读一样,不确保内容完整性,请务必认真阅读

2 除PDF格式下载后需转换成word才能编辑,其他下载后均可以随意编辑修改

3 有的标题标有”最新”、多篇,实质内容并不相符,下载内容以在线阅读为准,请认真阅读全文再下载

4 该文档为会员上传,版权归上传者负责解释,如若侵犯你的隐私或权利,请联系客服投诉

返回顶部