c语言用递归求数组的最大值
代码:#include"stdio.h"intdmax(inta[],intfirst,intn){if(n==10){returnfirst;}if(a[first]<...
代码:
#include"stdio.h"
int dmax(int a[],int first,int n)
{
if(n==10){return first;}
if(a[first]<a[n])first=n;
n++;
dmax(a,first,n);
}
main()
{
int a[10]={1,2,5,4,7,8,9,6,3,20};
int f=a[0];
printf("%d",a[dmax(a,f,0)]);
}
不知道为什么运行结果总是不对,求大神帮我看看。 展开
#include"stdio.h"
int dmax(int a[],int first,int n)
{
if(n==10){return first;}
if(a[first]<a[n])first=n;
n++;
dmax(a,first,n);
}
main()
{
int a[10]={1,2,5,4,7,8,9,6,3,20};
int f=a[0];
printf("%d",a[dmax(a,f,0)]);
}
不知道为什么运行结果总是不对,求大神帮我看看。 展开
1个回答
展开全部
#include <stdio.h>
int dmax(int a[],int first,int n)
{
if(n==10){
return first;
}
if (a[first] < a[n]) {
first = n;
}
n++;
return dmax(a,first,n);//要加return
}
int main()
{
int a[10]={1,2,5,4,7,8,9,6,3,20};
int f=0; //f代表下标,所以不是a[0]而是0
printf("%d\n",a[dmax(a,f,0)]);
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询