用户名: 密码: 企业 个人
当前位置:89学习网范文文章招聘应聘笔试2017校招C++笔试题汇总» 正文

2017校招C++笔试题汇总

[05-15 14:50:43]   来源:http://www.89xue.com  笔试   阅读:90
摘要:for ( int j = 0 ; j < count - i - 1 ; j++){if ( data[j] > data[j+1]){tag = true ;int temp = data[j] ;data[j] = data[j+1] ;data[j+1] = temp ;}}if ( !tag )break ;}}void main( void ){vectordata;ifstream in("c://data.txt");if ( !in){cout<<"file error!";exit(1);}int temp;while (!in.。
2017校招C++笔试题汇总,标签:笔试范文,http://www.89xue.com

  for ( int j = 0 ; j < count - i - 1 ; j++)

  {

  if ( data[j] > data[j+1])

  {

  tag = true ;

  int temp = data[j] ;

  data[j] = data[j+1] ;

  data[j+1] = temp ;

  }

  }

  if ( !tag )

  break ;

  }

  }

  void main( void )

  {

  vectordata;

  ifstream in("c://data.txt");

  if ( !in)

  {

  cout<<"file error!";

  exit(1);

  }

  int temp;

  while (!in.eof())

  {

  in>>temp;

  data.push_back(temp);

  }

  in.close(); //关闭输入文件流

  Order(data);

  ofstream out("c://result.txt");

  if ( !out)

  {

  cout<<"file error!";

  exit(1);

  }

  for ( i = 0 ; i < data.size() ; i++)

  out<

  }

  ~B()

  {

  cout<<"destructed"<

  }

  B(int i):data(i) //B(int) works as a converter ( int -> instance of B)

  {

  cout<<"constructed by parameter " << data <

  }

  private:

  int data;

  };

  B Play( B b)

  {

  return b ;

  }

  (1) results:

  int main(int argc, char* argv[]) constructed by parameter 5

  { destructed B(5)形参析构

  B t1 = Play(5); B t2 = Play(t1);   destructed t1形参析构

  return 0;               destructed t2 注意顺序!

  } destructed t1

  (2) results:

  int main(int argc, char* argv[]) constructed by parameter 5

  { destructed B(5)形参析构

  B t1 = Play(5); B t2 = Play(10);   constructed by parameter 10 不错哦

  return 0;               destructed B(10)形参析构

  } destructed t2 注意顺序!

  destructed t1

  42. 写一个函数找出一个整数数组中,第二大的数 (microsoft)

  答案:

  const int MINNUMBER = -32767 ;

  int find_sec_max( int data[] , int count)

  {

  int maxnumber = data[0] ;

  int sec_max = MINNUMBER ;

  for ( int i = 1 ; i < count ; i++)

  {

  if ( data[i] > maxnumber )

  {

  sec_max = maxnumber ;

  maxnumber = data[i] ;

  }

  else

  {

  if ( data[i] > sec_max )

  sec_max = data[i] ;

  }

  }

  return sec_max ;

  }

  43. 写一个在一个字符串(n)中寻找一个子串(m)第一个位置的函数。

  KMP算法效率最好,时间复杂度是O(n+m)。

  44. 多重继承的内存分配问题:

  比如有class A : public class B, public class C {}

  那么A的内存结构大致是怎么样的?

  这个是compiler-dependent的, 不同的实现其细节可能不同。

  如果不考虑有虚函数、虚继承的话就相当简单;否则的话,相当复杂。

  可以参考《深入探索C++对象模型》,或者:

  http://blog.csdn.net/wfwd/archive/2006/05/30/763797.aspx

  45. 如何判断一个单链表是有环的?(注意不能用标志位,最多只能用两个额外指针)

  struct node { char val; node* next;}

  bool check(const node* head) {} //return false : 无环;true: 有环

  一种O(n)的办法就是(搞两个指针,一个每次递增一步,一个每次递增两步,如果有环的话两者必然重合,反之亦然):

  bool check(const node* head)

  {

  if(head==NULL) return false;

  node *low=head, *fast=head->next;

  while(fast!=NULL && fast->next!=NULL)

  {

  low=low->next;

  fast=fast->next->next;

  if(low==fast) return true;

  }

  return false;

  }

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


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