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);
}
}
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;
}
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;
}
8909

被折叠的 条评论
为什么被折叠?



