开发者社区> 问答> 正文

已知A[n]为整数数组,试写出实现下列运算的递归算法: (1) 求数组A中的最大整数。 (2) 求n个整数的和。

求设计的流程图

展开
收起
知与谁同 2018-07-21 10:42:07 3185 0
2 条回答
写回答
取消 提交回答
  • //递归求数组A[n]中的最大整数;
    int maxintA(int n)
    {
    if(0 == n) return 0;//数组为空
    if(1 == n) return a[n-1];//数组中只有一个元素

    return (a[n-1] > manxintA(n-1)?a[n-1]:maxintA(n-1));//递归

    }

    //递归求素组A[n]中n个整数的和
    int sumofA(int n)
    {
    if(0==n) return 0;// 数组为空
    if(1==n) return a[n-1];// 数组中只有一个元素

    return (a[n-1]+sumofA(n-1));//递归
    }
    2019-07-17 22:55:46
    赞同 展开评论 打赏
  • #include <iostream>
    using namespace std;
    int funSum(int sum,int k,int A[],int n)
    {
    if(k>n)return sum;
    sum+=A[k];
    k++;
    funSum(sum,k,A,n);
    }

    int funMax(int max,int k,int A[],int n)
    {
    if(k>n)return max;
    if(A[k]>max)max=A[k];
    k++;
    funMax(max,k,A,n);
    }

    void main()
    {
    int A[188];
    for(int i=0;i<10;i++)
    {
    A[i]=i;
    }
    cout<<funSum(0,0,A,9)<<endl;
    cout<<funMax(A[0],0,A,9)<<endl;
    }
    2019-07-17 22:55:46
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
数据+算法定义新世界 立即下载
袋鼠云基于实时计算的反黄牛算法 立即下载
Alink:基于Apache Flink的算法平台 立即下载