用户名: 密码: 企业 个人
当前位置:89学习网范文文章招聘应聘笔试华为C语言笔试题集合» 正文

华为C语言笔试题集合

[10-16 20:00:41]   来源:http://www.89xue.com  笔试   阅读:90
摘要:/* 内存块重叠吗?如果重叠,就使用memmove */ASSERT(pbTo>=pbFrom+size || pbFrom>=pbTo+size);while(size-->0)*pbTo++ == *pbFrom++;return(pvTo);}---常见函数编程:char *strcpy(char *strDest, const char *strSrc){ASSERT(strDest != NULL && strSrc != NULL);char *addr = strDest;while(*strDest++=*strSrc++)NULL; //NULL可以省略,但更有利于编译器发现错。
华为C语言笔试题集合,标签:笔试范文,http://www.89xue.com

  /* 内存块重叠吗?如果重叠,就使用memmove */

  ASSERT(pbTo>=pbFrom+size || pbFrom>=pbTo+size);

  while(size-->0)

  *pbTo++ == *pbFrom++;

  return(pvTo);

  }

  -----------------------

  常见函数编程:

  char *strcpy(char *strDest, const char *strSrc)

  {

  ASSERT(strDest != NULL && strSrc != NULL);

  char *addr = strDest;

  while(*strDest++=*strSrc++)

  NULL; //NULL可以省略,但更有利于编译器发现错误

  }

  return addr;

  }

  void *memcpy(void *dest, const void *src, int count)

  {

  ASSERT(dest!= NULL && src!= NULL);

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

  {

  dest = src;

  }

  }

  int strcmp(const char*str1, const char *str2)

  {

  while (str1 != NULL && str2 != NULL)

  {

  if(*str1 < *str2) return -1;

  else if(*str1 > *str2) return 1;

  else { str1++; str2++;}

  }

  if(str1 == NULL && str2 != NULL)

  return -1;

  else if(str1 != NULL && str2 == NULL)

  return 1;

  else return 0;

  }

  //way2: more compact

  int strcmp(const char*str1, const char *str2)

  {

  int i = strlen( str1 );

  int j;

  for(j=0; j<=i; j++)

  {

  if(str1[j] > str2[j]) return 1; //if str2 terminates, then str2[j]=0, str1[j]>str2[j], return 1;

  else if(str1[j] < str2[j]) return -1;

  else if(str1[j] == '') return 0;

  }

  }

  //way3: optimize again.

  int strcmp(const char * str1, const char * str2 )

  {

  while(1)

  {

  if(*str1 > *str2) return 1;

  else if(*str1 < *str2) return -1;

  else if(*str1 == '') return 0;

  str1++;str2++;

  }

  }

  一道华为笔试题

  题目:请在小于99999的正整数中找符合下列条件的数,它既是完全平方数,又有两位数字相同,如:144,676。用c语言编写(不能用数字转换成字符串)。

  #include

  #include

  //函数havesamenum确认num是否满足条件

  int havesamenum(int num)

  {

  int i=0,j;

  char a[10] = {0};

  while(num>0)

  {

  j=num%10;

  a[j]+=1;

  num=num/10;

  }

  while(a[i]<=1&&i<10)

  i++;

  if (i<10)

  return 1;

  else

  return 0;

  }

  void main(void)

  {

  int i,j,m;

  m=(int)sqrt(99999);

  for(i=1;i

  {

  j=i*i;

  if (1==havesamenum(j))

  printf("%6d\t",j);

  }

  }

  下图为运行结果:

  慧通试题

  1 写出程序把一个链表中的接点顺序倒排

  typedef struct linknode

  {

  int data;

  struct linknode *next;

  }node;

  //将一个链表逆置

  node *reverse(node *head)

  {

  node *p,*q,*r;

  p=head;

  q=p->next;

  while(q!=NULL)

  {

  r=q->next;

  q->next=p;

  p=q;

  q=r;

  }

  head->next=NULL;

  head=p;

  return head;

  }

  2 写出程序删除链表中的所有接点

  void del_all(node *head)

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


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