问题标题: 酷町堂:2462 递归求最大值

0
0

2
已采纳
张舒斌
张舒斌
中级光能
中级光能

我给你提供一个思路:

如:6 1 5 4 2 3

先从第一个找

6 1比较,是6

6和5比较,是6

6 4比较,是6

……

如此进行,每一次的比较数等于上一次的最大值和此次的值,一直比较到最后………………

思路提供完毕,继续潜水………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………

2
毕小曼
毕小曼
初级光能
初级光能

张舒斌把思路解释的很清楚,我就发核心吧

int n,maxa,a[110];
int f(int a[],int i,int maxa)
{
    if(i==n)return maxa;
    if(a[i]>maxa)maxa=a[i];
    return f(a,i+1,maxa);
}

别忘了输入完的这一步

maxa=a[0];

默默无闻,继续潜水

0
杨子逸
杨子逸
新手天翼
新手天翼

我也来接龙:

思路:

主要是对2个相邻的数用max函数进行比较,求出较大值,再依次向后进行同样的操作。

核心:

int s(int n)
{
    if(n==2)
    return max(b[n],b[n-1]);
    return max(s(n-1),b[n]);
}

继续冒泡 。 。 。 。 。 。 。 。 。 。 。 。

      。 。 。 。 。 。 。 。 。 。 。 。

    。 。 。 。 。 。 。 。 。 。 。 。

  。 。 。 。 。 。 。 。 。 。 。 。

。 。 。 。 。 。 。 。 。 。 。 。

0
周建勋
周建勋
中级光能
中级光能

 

int n,maxa,a[110];

 

int f(int a[],int i,int maxa)

 

{

 

if(i==n)return maxa;

 

if(a[i]>maxa)maxa=a[i];

 

return f(a,i+1,maxa);

 

}

0
0
我要回答