1.写一个函数,将字符串中的\t 都转换成4 个空格。

#include <iostream>
#include 
<string>
using namespace std;

string replaceTab(const string& strSrc)
{
//strSrc源字符串,将源字符串中的’\t’转换为4个空格
    int i,j;
    
string strDes;
    
for (i=0;i<strSrc.length();++i)
    {
        
if(strSrc[i]!='\t')
        {
            strDes
+=strSrc[i];
        }
        
else
        {
            
for(j=1;j<=4;++j)
            {
                strDes
+=' ';
            }
        }
    }
    
return strDes;
}
int main() 

    
string str("I am\tphinecos\t\tbi\t \\tng");
    cout
<<str<<endl;
    cout
<<replaceTab(str)<<endl;
    
return 0;

2.如何定义和实现一个类的成员函数为回调函数?

答:成员函数声明为static,如下示例:

//声明函数指针
typedef   void   (*FunPtr)(void);   

class   MyClass   
{   
public:   
    
//回调函数
    static void callBackFun(void)   
    {   
        cout
<<"callBackFun"<<endl;   
    }   
};   
void   FunTest(FunPtr pFun)   
{   
    pFun();   
}  
int main() 

    FunTest(MyClass::callBackFun);
    
return 0;

 

3C++里面是不是所有的动作都是main()引起的?如果不是,请举例。

答:全局变量初始化

 

4C++里面如何声明const void f(void)函数为C 程序中的库函数?

答:extern “C”

 

5.下列哪两个是等同的

    int b;

    A const int* a = &b;

    B const* int a = &b;

    C const int* const a = &b;

    D int const* const a = &b;

答:A表示*a是常量,但指针a可变。B表示指针a是常量,但*a可变。CD都表示a*a都是常量,所以C,D是等同的。

 

6, 内联函数在编译时是否做参数类型检查?

答:内联函数要做参数类型检查, 这是内联函数跟宏相比的优势。

 

7,数列6101832,“?”,问“?”是几?

答,54。两次逐差,第一次得到4814,第二次得到46,则可以推断下一个差值为8,反推回去得到第一级差下一个是22,再往回推可到原数列下一个是54

 

87 个人用7 小时挖了7 米的沟,以同样的速度在 50 小时挖50 米的沟要多少人?

答:7个人。由题可得,17小时可挖1米,则150小时可挖50/7米,则750小时可挖7*50/7=50米。

 

9,某人出70 买进一个x80 卖出,90 买回,100 卖出,这桩买卖怎么样?

答,赚是赚了,但是利润率变低了。就毛利润来说,每次都赚10,但是开始利润是1/8, 后来是1/10 。但从另外一方面来看, 这个人很有冒险精神,敢高买高卖,不怕套牢。

 

10,鱼头长9,鱼尾等于鱼头加半个,鱼身等于鱼头加鱼尾,问鱼全长多少?

答:通过简单的二元一次方程可算得,鱼身长36,鱼尾长27,因此鱼全长72.
 

11,王先生看到一则招聘启事,发现两个公司除了以下条件不同外,其他条件都相同

    A 半年年薪50 万,每半年涨 5

    B 一年年薪 100 万,每一年涨20

王先生想去一家待遇比较优厚的公司,他会去哪家?

答:明显是A公司。以2年为例,A公司给的年薪是50+55+60+65=230B给的是100+120=220,有道是,细水长流呀。

 

12, 问哪个袋子里有金子?

    A 袋子上的标签是这样写的:B 袋子上的话是对的,金子在A 袋子。

B 袋子上的标签是这样写的:A 袋子上的话是错的,金子在A 袋子里。

:B袋。因为若在A袋,则两句话相互矛盾,因此不成立。

 

13 3 个人住酒店 30 块钱,经理找回 5 块钱,服务生从中藏了 2 块钱,找给每人 1 块钱, 3 ×(10-1+2=29,问这是怎么回事?

答:对顾客来说,他们花了30327 ;对经理来讲,他只收了30525元;对服务生来讲,他得了532 ;就是说,服务生偷了三位顾客2元钱。