小弟遇见一个问题,c++算法,需要用递归函数确定元素X是否属于数组a[0:n-1],没有思路,求大侠指点

 我来答
有你的晴天12138
推荐于2017-09-16 · TA获得超过1001个赞
知道小有建树答主
回答量:305
采纳率:80%
帮助的人:210万
展开全部

代码如下:

#include <stdio.h>

int is_set(int val, int *a, int len)
{
if (val == *a)
{
return 1;
}

if (len > 1)
{
return is_set(val, a + 1, len - 1);
}
else
{
return 0;
}
}

int main()
{
int a[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
int exist1 = is_set(9, a, 10);
int exist2 = is_set(-1, a, 10);

printf("%d %d\n", exist1, exist2);
return 0;
}

Linux 下编译及测试结果如下:

[root@iZ25a38chb4Z lory]# g++ test.cpp -o test -g3 -Wall
[root@iZ25a38chb4Z lory]# ./test 
1 0

通过测试结果可以知道,9 查询成功,-1 查询失败。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式