开发者社区 问答 正文

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

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

展开
收起
知与谁同 2018-07-22 17:01:19 2986 分享 版权
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
    赞同 展开评论
问答分类:
问答地址: