用户名: 密码: 企业 个人
当前位置:89学习网范文文章招聘应聘笔试2017年华为招聘会笔试题» 正文

2017年华为招聘会笔试题

[05-15 14:50:43]   来源:http://www.89xue.com  笔试   阅读:90
摘要:笔试题目(机试,共两题) 题目一:子串分离题目描述: 通过键盘输入任意一个字符串序列,字符串可能包含多个子串,子串以空格分隔。请编写一个程序,自动分离出各个子串,并使用’,’将其分隔,并且在最后也补充一个’,’并将子串存储。如果输入“abc def gh i d”结果将是abc,def,gh,i,d,要求实现函数void DivideString(const char *pInputStr, long lInputLen, char *pOutputStr);【输入】 pInputStr: 输入字符串lInputLen: 输入字符。
2017年华为招聘会笔试题,标签:笔试范文,http://www.89xue.com

  笔试题目(机试,共两题)

   题目一:子串分离

  题目描述:

   通过键盘输入任意一个字符串序列,字符串可能包含多个子串,子串以空格分隔。请编写一个程序,自动分离出各个子串,并使用’,’将其分隔,并且在最后也补充一个’,’并将子串存储。

  如果输入“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,”

  题目二:逆序链表输出。

  题目描述:

   将输入的一个单向链表,逆序后输出链表中的值。链表定义如下:

   typedef struct tagListNode

  {

  int value;

  struct tagListNode *next;

  }ListNode;

  要求实现函数:

   void converse(ListNode **head);

  【输入】head: 链表头节点空间已经开辟好

  【输出】head: 逆序后的链表头节点

  【返回】无

  【注意】只需要完成该函数功能算法,中间不需要有任何IO的输入输出

  参考答案:

   题目一:

   一个字符串里面包含了一些位置不定的空格符,把里面所有的非空格字符找出来,把空格用‘,’替换。

  替换后的句子末尾必须有一个‘,’存在。

  例如“this is an demo”替换后应该为:

   "this,is,an,demo,"

  [cpp] view plaincopyprint?

  01.#include

  02.

  03.char *ReplaceString(const char *pInString, char *pOutString)

  04.{

  05. char *cp = pOutString ;

  06. //去除字符串开头的若干空格

  07. while(*pInString == ' ')

  08. {

  09. pInString ++;

  10. }

  11.

  12. while(*pInString)

  13. {

  14. *cp = *pInString;

  15. cp++;

  16. pInString++;

  17.

  18. if(*pInString == ' ')

  19. {

  20. *cp= ',';

  21. cp++;

  22. pInString++;

  23. }

  24. }

  25.

  26. *cp = '\0';

  27.

  28. //最后一个字符用逗号结束

  29. if(*(cp - 1) != ',')

  30. {

  31. *cp = ',';

  32. *(++cp) = '\0';

  33. }

  34. return pOutString;

  35.}

  36.

  37.int main()

  38.{

  39. char *pin = " This is a demo";

  40. char pout[100];

  41. ReplaceString(pin, pout);

  42. printf("%s \n", pin);

  43. printf("%s \n", pout);

  44. return 0;

  45.}

  题目二参考答案

  link *Reversal(link *listhead)

  {

  link *p, *q, *head = NULL;

  p = listhead;

  while (p != NULL)

  {

  q = p->next;

  p->next = head;

  head = p;

  p = q;

  }

  return head;

  }


Tag:笔试笔试范文招聘应聘 - 笔试