欧美在线观看www-欧美在线观看高清一二三区-欧美在线观看网站-欧美在线观看网址-国产高清在线精品免费-国产高清在线精品一区二区

當前位置:高考升學網(wǎng) > 招聘筆試題 > 正文

2019騰訊校園招聘C語言筆試題和面試題答案

更新:2023-09-17 16:56:33 高考升學網(wǎng)

  下面這套筆試題是2015騰訊校園招聘C語言常考知識點,分享給大家了解。
  1. 輸入一個鏈表的頭結點,從尾到頭反過來輸出每個結點的值。鏈表結點定義如下:

  struct ListNode

  {

  int m_nKey;

  ListNode m_pNext;

  };

  A: 遞歸方法逆序輸出,棧方法逆序輸出。

  (任意實現(xiàn)一種既可)

  void PrintListUsingRecursicve(pListNode head)

  {

  if(head!=NULL)

  {

  PrintListUsingRecursicve(head->m_pNext);

  printf("%d/n",head->m_nKey);

  }

  }

  void PrintListUsingStack(pListNode head)

  {

  Stack s;

  s.top=0;

  pListNode p=head;

  do{

  push(&s,p->m_nKey);

  p=p->m_pNext;

  }while(p!=NULL);本文由論文聯(lián)盟http://www.LWlm.COM收集整理

  while(!IsEmpty(&s))

  {

  printf("%d/n",pop(&s));

  }

  }

  2. 二元樹的深度

  題目:輸入一棵二元樹的根結點,求該樹的深度。從根結點到葉結點依次經(jīng)過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度。

  #include

  #include

  #include

  #include

  #define MAXLEN 100

  #define MAXNUM 10

  typedef int Tree[MAXLEN];

  Tree bt;

  int GetDeep(int i)

  {

  int l=0,r=0;

  if(bt[i2]!=-1)

  {

  l=GetDeep(i2)+1;

  }

  if(bt[i2+1]!=-1)

  {

  r= GetDeep(i2+1)+1;

  }

  return l>r?l:r;

  }

  int main()

  {

  int i=0;

  memset(bt,-1,sizeof(bt));

  for(i=1;i<=MAXNUM;i++)

  bt[i]=i;

  bt[(i-1)2]=i2;

  printf("%d /n",GetDeep(1));

  return 0;

  }

  3. 整數(shù)的二進制表示中1的個數(shù)

  題目:輸入一個整數(shù),求該整數(shù)的二進制表達中有多少個1。例如輸入10,由于其二進制表示為1010,有兩個1,因此輸出2。

  (關鍵是能不能想到后面的那個方法,只要想到這個方法既可)

  int Bit1inInt(int i)

  {

  int result=0;

  do{

  result+=i&1;

  }while(i=i>>1);

  return result;

  }

  4. 從上往下遍歷二元樹

  題目:輸入一顆二元樹,從上往下按層打印樹的每個結點,同一層中按照從左往右的順序打印。

  (先序,中序,后序三種方式實現(xiàn))

  如果從上往下,從左到右的話只有一種遍歷的方式:廣度優(yōu)先遍歷。

  #include

  #include

  #include

  #include

  #define MAXLEN 100

  #define MAXNUM 10

  typedef int Tree[MAXLEN];

  Tree bt;

  typedef struct queue

  {

  int begin,end;

  int space[MAXLEN];

  }Queue;

  int main()

  {

  int i=0;

  memset(bt,-1,sizeof(bt));

  for(i=1;i<=MAXNUM;i++)

  bt[i]=i;

  Queue qe;

  qe.begin=0;qe.end =0;

  qe.space[qe.end++]=bt;

  while(qe.begin!=qe.end)

  {

  if(bt[2qe.space[qe.begin]]!=-1)//lchild

  {

  qe.space[qe.end++]=bt[2qe.space[qe.begin]];

  }

  if(bt[2qe.space[qe.begin]+1]!=-1)//rchild

  {

  qe.space[qe.end++]=bt[2qe.space[qe.begin]+1];

  }

  qe.begin++;

  }

  printf("--------------------/n");

  for(i=0;i

  printf("%d ",qe.space[i]);

  return 0;

  }

  先序,中序,后序三種方式的只是遍歷二元樹

  typedef int Tree[MAXLEN];

  Tree bt;

  void PreOrderTraverse(int i)

  {

  if(bt[i]==-1) {return ;}

  printf("%d ",bt[i]);

  PreOrderTraverse(i2);//lchild

  PreOrderTraverse(i2+1);//rchild

  }

  void InOrderTraverse(int i)

  {

  if(bt[i]==-1) {return ;}

  InOrderTraverse(i2);//lchild

  printf("%d ",bt[i]);

  InOrderTraverse(i2+1);//rchild

  }

  void PostOrderTraverse(int i)

  {

  if(bt[i]==-1) {return ;}

  PostOrderTraverse(i2);//lchild

  PostOrderTraverse(i2+1);//rchild

  printf("%d ",bt[i]);

  }

  int main()

  {

  int i=0;

  memset(bt,-1,sizeof(bt));

  for(i=1;i<=MAXNUM;i++)

  bt[i]=i;

  printf("/n---------------/n");

  PreOrderTraverse(1);

  printf("/n---------------/n");

  InOrderTraverse(1);

  printf("/n---------------/n");

  PostOrderTraverse(1);

  return 0;

  }

  5. 查找鏈表中倒數(shù)第k個結點

  題目:輸入一個單向鏈表,輸出該鏈表中倒數(shù)第k個結點。鏈表的倒數(shù)第0個結點為鏈表的尾指針。鏈表結點定義如下:

  struct ListNode

  {

  int m_nKey;

  ListNode m_pNext;

  };

  (最快的方法,只遍歷一遍)

  int FindCoundDownInList(pListNode head,int num)

  {

  pListNode p1,p2;

  p1=p2=head;

  while(num-->0 && p1!=NULL) p1=p1->m_pNext;

  if(p1==NULL) return 0;

  else{

  while(p1!=NULL)

  {

  p1=p1->m_pNext;

  p2=p2->m_pNext;

  }

  return p2->m_nKey;

  }

  }

  6. 求三角形面積

  給出三角形的三個邊長為a、b、c,求三角形的面積。

  (注意考慮是不是三角形)

  double GetArea(int a,int b,int c)

  {

  if(a-b>=c || a+b<=c)

  return -0.1;

  else{

  double s=0.5(a+b+c);

  double area=sqrt(s(s-a)(s-b)(s-c));

  return area;

  }

  }

相關文章

最新圖文

2020年河北新聞網(wǎng)兩學一做

時間:2023-09-18 07:0:24

2020年河北新聞網(wǎng)兩學一做

時間:2023-09-15 11:0:59

兩學一做學習教育知

時間:2023-09-21 06:0:30

2020年開展兩學一做學習教

時間:2023-09-19 21:0:30
主站蜘蛛池模板: 九九视频在线 | 久久网站免费 | 四虎www成人影院免费观看 | 精品日本三级在线观看视频 | 好男人www免费高清视频在线 | 国产精品免费播放 | 国产一级自拍 | 岛国视频在线观看免费播放 | 亚洲一区二区三区久久久久 | 91精品国产自产91精品 | 日韩一级视频 | 2017亚洲天堂 | 精品视频一区二区三区在线播放 | 日韩欧美中文字幕一区二区三区 | 精品一精品国产一级毛片 | 四虎国产精品永久地址48 | 欧美男人天堂 | 一区二区三区中文国产亚洲 | 最新91视频 | 免费黄网站大全 | 美女操操操 | 自拍偷拍综合网 | 日韩在线二区全免费 | 欧美日韩一区二区三区在线观看 | 日本热妇| 久久国产热这里只有精品 | 一二三区免费视频 | 精品免费久久久久国产一区 | 成年网站未满十八禁毛片免费 | 国产黄片毛片 | 婷婷丁香综合 | 欧产日产国产精品精品 | 99久久国产综合精品麻豆 | 国产九九热视频 | 丁香综合在线 | 国自产在线精品免费 | 日韩欧美在线不卡 | 牛牛视频在线观看 | 91在线亚洲 | 亚洲免费h | 最近日本中文字幕免费完整 |