百度的笔试题可真不是盖得,我应聘的职位是商务搜索部_信息系统/web研发工程师。全部是简答题和编程题,题量不大,时间为两个小时。其中有这样一道编程题,题目如下:
实现int strnumcmp(char * str1,char * str2);函数,当两个字符串的比较部分不包含数字时,函数功能和strcmp一样。否则比较字符串中的数字大小。例如:
"abc32"<"abc6";
"abcd">"abc9";
"abcd"<"abce";
算法思想:除去两个字符串前面相同的部分,然后,如果两个字符串的首字符都是数字则比较两个数字字符串的大小,否则实现strcmp函数的功能。
下面是我用C语言实现的程序代码,已经在visual C++ 6.0上运行通过了,拿出来与大家分享。虽然去不了百度,但还是积累一点经验,毕竟前方的路还很长!
#include <stdio.h>
#include <string.h>
/*判断一个字符是否是数字字符,即'0'到'9'之间的字符,如果是数字字符返回1,否则返回0*/
int isNum(char c)
{
if(c>='0'&