您当前所在位置:
88好学网范文常识招聘应聘笔试华为C语言笔试题集合» 正文

华为C语言笔试题集合

[10-20 23:53:58]   来源:http://www.88haoxue.com  笔试   阅读:680

概要:void uppers(char *s,char *us){for(;*s!='\0';s++,us++){if(*s>='a'&&*s<='z')*us = *s-32;else*us = *s;}*us = '\0';}int main(){char *s,*us;char ss[20];printf("Please input a string:\n");scanf("%s",ss);s = ss;uppers(s,us);printf("The result is:\n%s\n",us);getch();}随机输入一个数,判断它是不是对称数(回文数)(如3,121,12321,45254)。不能用字符串库函数/***1.函数名称:Symmetry功能: 判断一个数时候为回文数(121,35653)输入: 长整型的数输出: 若为回文数返回值为1 esle 0**/[cpp] view plaincopyprint?unsign

华为C语言笔试题集合,标签:笔试大全,http://www.88haoxue.com

  void uppers(char *s,char *us)

  {

  for(;*s!='\0';s++,us++)

  {

  if(*s>='a'&&*s<='z')

  *us = *s-32;

  else

  *us = *s;

  }

  *us = '\0';

  }

  int main()

  {

  char *s,*us;

  char ss[20];

  printf("Please input a string:\n");

  scanf("%s",ss);

  s = ss;

  uppers(s,us);

  printf("The result is:\n%s\n",us);

  getch();

  }

  随机输入一个数,判断它是不是对称数(回文数)(如3,121,12321,45254)。不能用字符串库函数

  /***************************************************************

  1.

  函数名称:Symmetry

  功能: 判断一个数时候为回文数(121,35653)

  输入: 长整型的数

  输出: 若为回文数返回值为1 esle 0

  ******************************************************************/

  [cpp] view plaincopyprint?

  unsigned char Symmetry (long n)

  {

  long i,temp;

  i=n; temp=0;

  while(i) //不用出现长度问题,将数按高低位掉换

  {

  temp=temp*10+i%10;

  i/=10;

  }

  return(temp==n);

  }

  方法一

  /* ---------------------------------------------------------------------------

  功能:

  判断字符串是否为回文数字

  实现:

  先将字符串转换为正整数,再将正整数逆序组合为新的正整数,两数相同则为回文数字

  输入:

  char *s:待判断的字符串

  输出:

  无

  返回:

  0:正确;1:待判断的字符串为空;2:待判断的字符串不为数字;

  3:字符串不为回文数字;4:待判断的字符串溢出

  ---------------------------------------------------------------------------- */

  unsigned IsSymmetry(char *s)

  {

  char *p = s;

  long nNumber = 0;

  long n = 0;

  long nTemp = 0;

  /*判断输入是否为空*/

  if (*s == \'\\0\')

  return 1;

  /*将字符串转换为正整数*/

  while (*p != \'\\0\')

  {

  /*判断字符是否为数字*/

  if (*p<\'0\' || *p>\'9\')

  return 2;

  /*判断正整数是否溢出*/

  if ((*p-\'0\') > (4294967295-(nNumber*10)))

  return 4;

  nNumber = (*p-\'0\') + (nNumber * 10);

  p++;

  }

  /*将数字逆序组合,直接抄楼上高手的代码,莫怪,呵呵*/

  n = nNumber;

  while(n)

  {

  /*判断正整数是否溢出*/

  if ((n%10) > (4294967295-(nTemp*10)))

  return 3;

  nTemp = nTemp*10 + n%10;

  n /= 10;

  }

  /*比较逆序数和原序数是否相等*/

  if (nNumber != nTemp)

  return 3;

  return 0;

  }

  方法二

  /* ---------------------------------------------------------------------------

  功能:

  判断字符串是否为回文数字

  实现:

  先得到字符串的长度,再依次比较字符串的对应位字符是否相同

  输入:

  char *s:待判断的字符串

  输出:

  无

  返回:

  0:正确;1:待判断的字符串为空;2:待判断的字符串不为数字;

  3:字符串不为回文数字

  ---------------------------------------------------------------------------- */

  unsigned IsSymmetry_2(char *s)

  {

  char *p = s;

  int nLen = 0;

  int i = 0;

  /*判断输入是否为空*/

  if (*s == \'\\0\')

  return 1;

  /*得到字符串长度*/

  while (*p != \'\\0\')

  {

  /*判断字符是否为数字*/

  if (*p<\'0\' || *p>\'9\')

  return 2;

  nLen++;

  p++;

  }

  /*长度不为奇数,不为回文数字*/

  if (nLen%2 == 0)

  return 4;

  /*长度为1,即为回文数字*/

  if (nLen == 1)

  return 0;

  /*依次比较对应字符是否相同*/

  p = s;

  i = nLen/2 - 1;

  while (i)

  {

  if (*(p+i) != *(p+nLen-i-1))

  return 3;

  i--;

  }

  return 0;

  }

  求2~2000的所有素数.有足够的内存,要求尽量快

  答案:

  int findvalue[2000]={2};

  static int find=1;

  bool adjust(int value)

  {

  assert(value>=2);

  if(value==2) return true;

  for(int i=0;i<=find;i++)

  {

  if(value%findvalue[i]==0)

  return false;

  }

  findvalue[find++];

  return true;

  }

  ④华为最后三个大题

  1.A,B,C,D四个进程,A向buf里面写数据,B,C,D向buf里面读数据,当A写完,且B,C,D都读一次后,A才能再写。用P,V操作实现。

  2.将单向链表reverse,如ABCD变成DCBA,只能搜索链表一次。

  3.将二叉树的两个孩子换位置,即左变右,右变左。不能用递规(变态!)

  ⑤华为笔试题:2007.03.31华为笔试题之一二

  给大家说几个:(感觉华为不过如此,虽然我的分不高,因为很多题我做给他实在是侮辱我的智商)

上一页  [1] [2] [3] [4] [5] [6] [7]  下一页


Tag:笔试笔试大全招聘应聘 - 笔试
》《华为C语言笔试题集合》相关文章