• 寻找数组的子数组中和的最大值


          今天上软件工程的时候我们进行了一项结对项目,目的是寻找出一个数组中子数组和的最大值!

          核心算法思想:既然是寻找子数组和的最大值,那就要明确一下子数组,子数组必须是数相邻!先确定该数组有多少数,根据用户的要求,当用户输入数组有多少数时,这时将这个数存到n中,然后数组就行为了a[n],然后将a[0]的值赋给sum和max,sum代表的是和,max代表的最大值。根据for循环,从第一个数开始进行sum求和,然后将得到的值与max比较,如果sum大于max的话,就将sum的值赋给max(如果sum小于max,就不进行操作),然后继续循环,直到循环结束,最后得到的max的值就是所有子数组和的最大值!

           小组成员:刘三龙   严晓雄

           我们很快就确定了自己的想法,然后进入了编程,很快就得到了整个源代码,并且进行了各种测试,这些都是我们在课堂上就完成了的!在下面我们会把我们的讨论草图,用例,还有源代码放在下面!

    源代码如下:

     1 #include "stdafx.h"
     2 
     3 void sort(int n,int a[])
     4 {
     5    int N;
     6    int i=0;
     7    int j=0;
     8    int sum=0;     //数组中元素进行求和
     9    int max;       //数组中子数组的最大值
    10    int b[100];
    11    N=n;
    12    for(i=0;i<N;i++)
    13    b[i]=a[i];
    14    if(N==0)
    15    {
    16         printf("输入错误!
    ");
    17    }
    18    else
    19    {
    20         printf("请输入需要输入的数:");
    21         for(i=0;i<N;i++)
    22             scanf("%d",&b[i]);
    23         max=b[0];
    24         for(i=0;i<N;i++)           //先从第一个数开始循环到最后一个数,然后再从第二个开始到最后一个,直到最后一个自己
    25         {
    26             sum=b[i];
    27             for(j=i+1;j<n;j++)
    28             {
    29                   sum=sum+b[j];
    30                   if(sum>max)     //如果sum>max,就将sum的值赋给max
    31                   {
    32                       max=sum;
    33                   }
    34             }
    35         }
    36         printf("最大的子数组之和为:%d
    ",max);
    37    }
    38 }
    39 
    40 int main(int argc, char* argv[])
    41 {
    42     int i=0;
    43     int n;
    44     int j=0;
    45     int max=0;
    46     int sum=0;
    47     int a[100];
    48     printf("需要输出几个数:");
    49     scanf("%d",&n);
    50     sort(n,a);
    51     return 0;
    52 }
    
    
    
    
    
  • 相关阅读:
    《C++ Primer(第五版)》知识巩固
    Ubuntu下配置安装Hadoop 2.2
    Golang框架beego和bee的开发使用
    C++下混合编译c语言方法总结
    算法导论学习笔记1---排序算法(平台:gcc 4.6.7)
    基于web端去除空格小工具
    Google Map API抓取地图坐标信息小程序
    【算法导论】散列表
    【算法导论】二叉搜索树
    【算法导论】基本数据结构
  • 原文地址:https://www.cnblogs.com/liusanlong/p/3592200.html
Copyright © 2020-2023  润新知