c语言递归求数组最小值

#include<stdio.h>intfun(intb[],intn){if(n==0){returnb[n];}else{if(b[n]<b[n-1]){return... #include<stdio.h>
int fun(int b[],int n)
{
if(n==0)
{
return b[n];
}
else
{
if(b[n]<b[n-1])
{
return fun(b,n-1);
}
else
{
return fun(b,n-1);
}
}
}
main()
{
int t;
int a[10]={2,1,3,4,5,6,7,8,9,10};
t=fun(a,9);
printf("%d",t);
}
这程序错哪啦
展开
 我来答
ausvardor
推荐于2018-03-14 · TA获得超过144个赞
知道答主
回答量:59
采纳率:0%
帮助的人:60.2万
展开全部
#include<stdio.h>
int fun(int b[],int n)
{
if(n==0)
return b[n];

b[0] = b[0] > b[n]?b[n]:b[0];
return fun(b,n-1);
}
void main()
{
int t;
int a[10]={2,1,3,4,5,10,6,7,8,9};
t=fun(a,9);
printf("%d",t);
}
追问
你这是错的
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
thodylkbc814
2011-03-28 · TA获得超过1013个赞
知道小有建树答主
回答量:943
采纳率:37%
帮助的人:328万
展开全部
if(b[n]<b[n-1])
{
return fun(b,n-1);
}
else
{
return fun(b,n-1);
}
这个if else貌似完全一样哒。
而且这个函数最终结果只能输出a[0]。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
walterclozet
2011-03-28 · TA获得超过277个赞
知道小有建树答主
回答量:317
采纳率:0%
帮助的人:193万
展开全部
这个递归函数只有一个出口, 就是n为0时返回b[0]的值.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
国家主权峭姨侗
2018-09-07
知道答主
回答量:2
采纳率:0%
帮助的人:1648
展开全部
int fun(int data[],int n){
    if(n <= 0){
        return data[0];
    }
    return data[n]> fun(data,n-1) ? fun(data,n-1):data[n];
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
双月夜雪
2011-03-28 · TA获得超过384个赞
知道小有建树答主
回答量:314
采纳率:0%
帮助的人:489万
展开全部
返回条件改一下
else if(b[n]<b[n-1])
{
return b[n]<fun(b,n-1)?b[n]:fun(b,n-1);
}
else
{
return fun(b,n-1);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式