发布于 2014-12-27 13:57:04 | 355 次阅读 | 评论: 0 | 来源: 网友投递
华为
华为技术有限公司是一家生产销售通信设备的民营通信科技公司,总部位于中国广东省深圳市龙岗区坂田华为基地。华为的产品主要涉及通信网络中的交换网络、传输网络、无线及有线固定接入网络和数据通信网络及无线终端产品,为世界各地通信运营商及专业网络拥有者提供硬件设备、软件、服务和解决方案。华为于1987年在中国深圳正式注册成立。
本文为大家提供的是一份2013华为招聘笔试题目-技术类岗位,感兴趣的同学参考下。
华为技术有限公司是一家生产销售通信设备的民营通信科技公司,总部位于中国广东省深圳市龙岗区坂田华为基地。华为的产品主要涉及通信网络中的交换网络、传输网络、无线及有线固定接入网络和数据通信网络及无线终端产品,为世界各地通信运营商及专业网络拥有者提供硬件设备、软件、服务和解决方案。华为于1987年在中国深圳正式注册成立。
以下为参考面试题:
题目描述:
通过键盘输入任意一个字符串序列,字符串可能包含多个子串,子串以空格分隔。请编写一
个程序,自动分离出各个子串,并使用’,’将其分隔,并且在最后也补充一个’,’并将子
串存储。
如果输入“abc def gh i d”,结果将是abc,def,gh,i,d,
要求实现函数:
void DivideString(const char *pInputStr, long lInputLen, char *pOutputStr);
【输入】 pInputStr: 输入字符串
lInputLen: 输入字符串长度
【输出】 pOutputStr: 输出字符串,空间已经开辟好,与输入字符串等长;
【注意】只需要完成该函数功能算法,中间不需要有任何IO 的输入输出
示例
输入:“abc def gh i d”
输出:“abc,def,gh,i,d,”
参考答案:
#include
#include
#define NULL 0
#define ERROR 0
void DivideString(const char *pInputStr,long inputLen,char *pOutputStr)
{
int i=0,j=0;
for(i=0,j=0;i
{
if(pInputStr[i]!=' ')
pOutputStr[j]=pInputStr[i];
else
{
pOutputStr[j]=',';
i++;
while(pInputStr[i]==' ')
i++;
i--;
}
}
pOutputStr[j]=',';
pOutputStr[++j]='�';
}
int main()
{
char *pInputStr;
char *pOutputStr;
int inputLen=13;
pInputStr=(char*)malloc(inputLen*sizeof(char));
pInputStr="abc def ghi d";
if(pInputStr==NULL)
return ERROR;
pOutputStr=(char*)malloc((inputLen+1)*sizeof(char));
if(pOutputStr==NULL)
return ERROR;
DivideString(pInputStr,inputLen,pOutputStr);
cout<
}
}
题目二:逆序链表输出。
题目描述:
将输入的一个单向链表,逆序后输出链表中的值。链表定义如下:
typedef struct tagListNode
{
int value;
struct tagListNode *next;
}ListNode;
要求实现函数:
void converse(ListNode **head);
【输入】head: 链表头节点,空间已经开辟好
【输出】head: 逆序后的链表头节点
【返回】无
【注意】只需要完成该函数功能算法,中间不需要有任何IO 的输入输出