zoukankan      html  css  js  c++  java
  • 腾讯笔试题

    自己在网上找的腾讯的笔试题(研发类),没有答案,就没个题自己做做,不会的就网上查资料。现在整理如下:

    1、请定义一个宏,比较两个数a、b 的大小,不能使用大于、小于、if 语句

    答案:

    #define max(a,b) (((a)-(b))&(1<<31))?(b):(a)

    2、如何输出源文件的标题和目前执行行的行数

    答案:
    #incluede<stdio.h>
    #include<tchar.h>
    #include<Windows.h>
    
    int main(){
       int nLine=__FILE__;
       TCHAR *pFIle=_T(__FILE__);
       _tprintf(TEXT("the file name is %s\r\n,line number is %d.\r\n"),pFile,nLine);
       
       return 0;
    }

     这主要是运用了ANSI C和Microsoft C++预先定义的一些宏来实现的。不止这两个,还有下面这些比较常用的:
    1)__DATE__:当前文件的编译日期。与在time.h中定义的asctime函数返回的格式一样,即是Mmm DD yyyy(月、日、年);
    2)__FILE__:当前源文件的名称。字符串格式(const char);
    3)__LINE__:当前代码在源文件中的行数。一个整数。
    4)__TIME__:当前源文件的编译时间。一个字符串(hh:mm:ss);
    5)__TIMESTAMP__:当前源文件最后编译的日期时间。一个字符串(格式为:Ddd Mmm Date hh:mm:ss yyyy,即星期几、月、日、时、分、秒、年);

    其中通过宏__FILE__和__LIEN__可以快速的定位程序出错的文件和位置,并通过Email的形式发送给开发人员,从而进行快速维护。

    3、两个数相乘,小数点后位数没有限制,请写一个高精度算法

    答案:
    算法提示:
    输入 string a, string b; 计算string c=a*b; 返回 c;
    
    
    1,   纪录小数点在a,b中的位置l1,l2, 则需要小数点后移动位置数为l=length(a)+length(b)-l1-l2-2;
    
    
    2,   去掉a,b中的小数点,(a,b小数点后移,使a,b变为整数)
    
    
    3,   计算c=a*b; (同整数的大数相乘算法)
    
    
    4,   输出c,(注意在输出倒数第l个数时,输出一个小数点。若是输出的数少于l个,就补0)

    4、写一个病毒

    粘个帖子在这吧,病毒这个我不会..

    5、有A、B、C、D 四个人,要在夜里过一座桥。他们通过这座桥分别需要耗时1、2、5、10 分钟,只有一支手电,并且同时最多只能两个人一起过桥。
    请问,如何安排,能够在17 分钟内这四个人都过桥?

    这个比较简单的:
    A+B过去(2分钟)
    A回来(1分钟)
    C+D过去(10分钟)
    B回来(2分钟)
    A+B过去(2分钟)        一共17分钟



  • 相关阅读:
    古谚、评论与论断、名篇与名言
    重读《西游记》
    重读《西游记》
    命名之法 —— 时间、季节、地点
    命名之法 —— 时间、季节、地点
    文言的理解 —— 古时的称谓、别称、别名
    文言的理解 —— 古时的称谓、别称、别名
    Oracle GoldenGate for Oracle 11g to PostgreSQL 9.2.4 Configuration
    瀑布 敏捷 文档
    POJ 1325 ZOJ 1364 最小覆盖点集
  • 原文地址:https://www.cnblogs.com/NewWork/p/3260577.html
Copyright © 2011-2022 走看看