码迷,mamicode.com
首页 > 编程语言 > 详细

求数组最大字数组之和第一部

时间:2016-03-26 22:02:42      阅读:232      评论:0      收藏:0      [点我收藏+]

标签:

一、    题目要求:返回整数数组中最大的子数组的和
输入一个整形数组,数组里有正数也有负数。
数组中连续的一个或多个整数组成一个数组,每个子数组都有一个和。
二、    设计思路:
首先输入一串数组,定义max为最大值,定义sum为求和的结果;从头开始首先将数组的第一个数和sum相加存到sum中,判断a[i]的正负,为正数的时候判断max和sum的的大小,如果为负数将sum置为0;如果最后结果max为0,则代表数组中都为负数,此时只需要找出最大的一个负数就可以。输出最大的子数组之和。           
三、    代码:
//吕兰兰 禹慧慧 2016.3.26
#include<iostream>
using namespace std;
int main()
{
int a[100],N;
int sum=0,max=0;
cout<<"Please input the number of the array:";
cin>>N;
cout<<"Please input "<<N<<"number:";
for(int i=0;i<N;i++)
cin>>a[i];
for(int i=0;i<N;i++)
{
   sum+=a[i];//将每位求和赋给sum
   if(a[i]>=0)
  {
     if(max<sum)
    {
       max=sum;
    }
  }
   if(sum<0)
   {
       sum=0;
   }
}
if(max==0)
{
    max=a[0];
    for(int i=1;i<N;i++)
    {
      if(a[i]>max)
      max=a[i];
    }
}
cout<<"The max is:"<<max<<endl;
return 0;
}
技术分享
四、    用时:计划花费4个小时,实际花费了7个小时;其中包括改错调试程序和赵程序的设计思路;
五、    体会:这次实验相比前几次实验还是比较简单的,只要找到设计的思路编程实现起来还是比较容易的。 

 

求数组最大字数组之和第一部

标签:

原文地址:http://www.cnblogs.com/lvlan/p/5323945.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!