开发者社区> 问答> 正文

用递归算法求n个数中的最大数及其位置 c++

用递归算法求n个数中的最大数及其位置 c++

展开
收起
知与谁同 2018-07-22 17:01:19 2838 0
3 条回答
写回答
取消 提交回答
  • 社区管理员
    是求和,还是什么。比如求1到100的和。
    2019-07-17 22:54:59
    赞同 展开评论 打赏
  • 胜天半子
    为什么非要用递归呢。感觉好难哦
    2019-07-17 22:54:59
    赞同 展开评论 打赏
  • int max(int n, int numbers[], int index)
    {
     if(index < (n-1)) {
      if(numbers[index] > numbers[index+1])
       numbers[index+1] = numbers[index]; //没到最后位则把大数放后面
      index++;
      return max(n, numbers, index);
     };
     else if(index == (n-1)) {
      return numbers[index];  //到最后位直接返回最后位就是最大的
     };
     else {
      return -1; //数组越界时返回-1
     };
    };
    void main(void)
    {
     int numbers[]={1,3,8,2,4,6};
     int N=6;
     int R = max(N,numbers,0));
     for (int i = 0; i < N; ++i) {
      if (number[i] == R) {
       printf("LOCATION: %d.\n", i); //输出位置
       break;
      };
     };
     printf("RESULT: %d.\n", R); //输出结果
     return;
    };
    2019-07-17 22:54:59
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

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