zoukankan      html  css  js  c++  java
  • 返回一个整数数组中最大子数组的和

    结对组员:闫立新 苏海岩

    核心思想:寻找所有可能的数组的和。

    设置两个for循环,每一次都加上后面的数。

    这样通过遍历,把所有可能的数组的和都计算出来。

    利用max变量保存,只要找到了最大的值就替换,每次都进行更新。

    在最外层的一次循坏结束后要使sum的值变为0以便不会影响后面一次循环的结果。

    此方法想法简单,实现也比较容易,循环嵌套即可。

    下面为代码部分:

    #include<stdio.h>
    int Max(int a[],int n)
    {
        int max=-1000;
        int sum;
        for (int i = 0;i < n;i++)
        {
            sum = 0;
            for (int j=i;j<n;j++)
            {
                sum=sum+a[j];
                if (sum>max)
                {
                    max=sum;
                }
            }
        }
        return max;
    }
    int main()
    {   int a[5],n,i,c;
        n=5;
        printf("输入5个数:
    ");
      for(i=0;i<5;i++)
      { scanf("%d",&a[i]);
      }
      c=Max(a,n);  
      printf("%d
    ",c);
       return  0; 
    }

    运行结果:

  • 相关阅读:
    清单
    1
    s
    模块系统的演进
    改radio样式
    前端css库
    疑惑
    收藏
    事件
    社保档案
  • 原文地址:https://www.cnblogs.com/yanlixin1993/p/3591662.html
Copyright © 2011-2022 走看看