Advertisement

北京星云公司面试题2019.11.1(1)

阅读量:

//面试题1:实现一个用于计算给定整数二进制表示中1的数量的功能模块;该模块接受单字节数值作为输入,并输出相应的计数值。

博雅自己的编程答案:

复制代码
    #include<iostream>
    using namespace std;
    
    
    int funB(const char a)
    {
    	int num = 0,b=0;
    	for (int i = 0; i < 8; i++)
    	{
    		
    		//if (a = a&(1 << i))    //这里不能给a赋值,给a赋值后a就不是原来的数了,还怎么统计
    		//参数a是传入参数,所以这个时候可以加上const 使之变为只读 ,增加程序的健壮性
    	   if (b = a&(1 << i))
    		{
    			num++;
    		}
    	
    	}
    	cout << "num=" << num << endl;
    	return num;
    }
    
    
    void main()
    
    {
    	
    	funB(255);
    	cout <<  "hello world"<<endl;
    	system("pause");
    	return ;
    }

面试题2
面试题3:用递归的方法实现单链表的逆序操作。

全部评论 (0)

还没有任何评论哟~