两道面试题

原创 2006年06月15日 12:13:00

第一道,比较经典,用代码实现strstr()的功能.

#include <iostream>
using namespace std;
char* findasub(char str1[],int len1,char str2[], int len2)
{
 if (len2>len1)return NULL;
 
 int j=0;
    int i=0;
 
 for (;j<len2;j++)
  for (;i<len1;i++)
  {
   if (str2[j]==str1[i])j++; //当有一个字符匹配时,子串后移一位.
   else j=0;     //任何一次两字符不等时,都要从头匹配.
  
   if (j==len2)              //匹配成功.这里之所以用len2而不用len2-1是因为
   {        //j==len2-1 j还会自增一次.
    int len=len1-i+len2;
    char*str=new char[len];
    for (int k=0;k<len;k++)str[k]=str1[k+i-len2+1];
    return str;
    break;
   }
  
  }
 
  if(j!=len2-1) return NULL;//匹配失败.
 
  return NULL;
}

int main(void)
{
 char str1[]="femalelover is a good man";
 char str2[]="lover";
 char* fn=findasub(str1,strlen(str1),str2,strlen(str2));
 if(fn)
 {
  cout<<fn<<endl;
  delete fn;
 }
 return 0;
}


第二道:用STL接受输入的整数,当输入不是整数时,输出排序后的所有整数:
#include <list>
#include <iostream>
#include <algorithm>
using namespace std;
void main()
{
 list<int>mylist;
 list<int>::iterator myit;
 double test=0;                    //这里必须用double,虽然我们要的是int
 int wathch=0;
 bool isint=true;

 while (isint)
 {
  cin>>test;
  if (test==int(test))      //这里判断一个数是否整数. 如果上面用int,则这里会死循环.
  {
   mylist.push_back(test);
   wathch++;
  }
  else isint=false;
 }
 if (mylist.size()==0)
 {
  cout<<"The list is empty/n";
  return;
 }
 else
 {
  mylist.sort();
 
  for (myit=mylist.begin();myit!=mylist.end();myit++)
   cout<<*myit<<endl;
 }

}

两道面试题

两道面试题 1.如何判断系统是32位还是64位,不能用库函数? 答:如何判断系统时32位还是64位,就是判断CPU的位数,可以判断指针的大小。 程序如下: #include usi...
  • chenglinhust
  • chenglinhust
  • 2013年10月04日 10:12
  • 985

两道腾讯面试题

首先看第一道题目:有1000个一模一样的瓶子,其中有999瓶是普通的水,有一瓶是毒药。任何喝下毒药的生物都会在一个星期后死亡。现在,你只有10只小白鼠和一个星期的时间,如何检验出哪个瓶子里有毒药? ...
  • gavin0123
  • gavin0123
  • 2014年09月04日 15:53
  • 479

两道c++面试题

原帖http://bbs.csdn.net/topics/390812884
  • jiyuanyi1992
  • jiyuanyi1992
  • 2014年06月18日 18:44
  • 426

分享两道CVTE面试题

cvte面试题
  • o_bvious
  • o_bvious
  • 2016年09月14日 22:09
  • 258

香港中文大学面试(两道面试题)

暑假时,坐飞机大老远跑到深圳去面试香港中文大学,本来是信心满满的,到了外面之后才发现希望原本就是无所谓有无所谓无的。才真心体会到了什么叫差距。。。。 或许你觉得自己发过几篇论文,有丰厚的科研...
  • xiaohui5319
  • xiaohui5319
  • 2012年09月16日 21:28
  • 12401

腾讯实习生面试2016两道面试题目?(知乎)

腾讯实习生面试2016两道面试题目?修改 谢谢大神们高质量的回答,满满干货,excited ----------------------------------------------------...
  • liangzhaoyang1
  • liangzhaoyang1
  • 2016年04月17日 09:56
  • 10250

两道有意思的面试题

逆序输出字符串1)
  • kamsau
  • kamsau
  • 2014年09月28日 22:18
  • 848

两道有趣的面试题

题目一 竹筒有20根签,10根白色,10根红色。抽取10根颜色一致可获得100元奖励,抽取9根颜色一致可获得50元奖励,但是抽取红色5根白色5根就损失50元,问这游戏是否值得参与?原因? ...
  • xiaohaisen
  • xiaohaisen
  • 2015年09月20日 16:30
  • 111

两道微软面试题

[题记]猎头J看中了我,非要让我去M$;去就去吧,还非要面试;面就面吧,还非得出难题,真是的;简简单单的走走过场就行了吧,呵呵。这两个题目是hr给我出的题目之二(此处,hr需要强调,非常强调),我没有...
  • sandyzhs
  • sandyzhs
  • 2008年09月25日 12:02
  • 594

两道概率面试题

问题一: 一根一米长的绳子,随机断成三段;求最短的一段的期望长度以及最长的一段的期望长度。 分析: 这道题实际是一道纯粹的概率题,没有太多技巧。自己有推导,但是概率论忘得差不多了,退出来的概率有点诡...
  • liql2007
  • liql2007
  • 2013年07月25日 11:43
  • 1591
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:两道面试题
举报原因:
原因补充:

(最多只允许输入30个字)