zoukankan      html  css  js  c++  java
  • c语言 运用递归算法求出数组中的最大值

     

    思考题:

    如何用递归求出数组中的最大项

    解:

    我们很简单的把一个拥有n个数字的int类型的数组看成两个部分,

    前n-1项和第n项

    在进行比较大小的时候,就直接拿前n-1项和第n项进行比较:

    如果第n项比较大,就return出第n项

    如果前n-1项比第n项要大,就用递归的方法return出前n-1项的最大值

    当然这一切都建立在传入当前函数的数字大于1的情况下,当传入的数字为1是,这个数字就为最大值

    上面的那一句话就作为递归的出口使用

    int MaxNumber(int number[],int n)
    {
        if(n>=1)
        {
            if(MaxNumber(number, n-1)>number[n])
                 return MaxNumber(number, n-1);
             else
                 return number[n];
        }
        else
            return number[0];
    
    }
    int main(){
        int a[9]={9,8,7,6,5,4,3,21,2};
        int number=MaxNumber(a, 8);
        printf("%d	",number);
    }
  • 相关阅读:
    团队冲刺2.6
    团队冲刺2.5
    团队冲刺2.4
    团队冲刺2.3
    个人作业二
    个人作业二
    个人作业二
    课程总结
    每日博客
    每日博客
  • 原文地址:https://www.cnblogs.com/oldfish123/p/12945189.html
Copyright © 2011-2022 走看看