解中软笔试题目

1>用C语言编写一个递归函数,它接受一个以参数形式传递而来的正整数,然后输出一个整数,要求在该整数中,原整数的每一位都要出现两次。例如,如果输入的整数是123,那么输出的数就应该是112233。

2>用C++编写二进制搜索算法作为函数模版。此函数模版应该获得三个参数,即:要从中进行搜索的数组、要搜索的元素以及数组的大小。

我的代码如下,可能每个人对题目理解有些偏差

/*  第一题  */
void  recursion( int  param)
{
    
if  (param > 9 )
    {
        
char  temp[ 10 ];
        sprintf(temp, 
" %d " , param);
        printf(
" %c%c " , temp[ 0 ], temp[ 0 ]);
        param 
=  atoi( & temp[ 1 ]);
        recursion(param);
    }
    
else
    {
       printf(
" %d%d " , param, param);
    }
}

//  第二题
template  < class  T >
bool  search(T  * src, T target, int  size)
{
    
for  ( int  i = 0 ; i < size; i ++ )
    {
        
if  ( ! memcmp( & src[i],  & target,  sizeof (T)))
        {
            
return   true ;
        }
    }
    
return   false ;
}

你可能感兴趣的:(程序设计)