环数组求最大子数组的和

    在结对开发的过程中,每个人分担不同的任务,由于我们在学习阶段,所以我自己也编写了一段小程序,但是总是缺少一个限制条件,让这段代码停下来,下面这段代码是我的同伴编写的,我只是做了一个测试。

 

#include<iostream>
using namespace std;

void main()
{
    int length; //数组的个数 int n; //数组变化后的长度 cout<<"请输入数组元素个数:"<<endl; cin>>length; n=2*length; int *a=new int[n]; //定义数组 cout<<"请输入数组的元素:"<<endl; for(int i=0;i<length;i++)// for循环依次输入数组的元素  { cin>>a[i]; } int max=a[0]; // 首先定义max并且赋予第一个数组中的元素值 int s=0; //定义s值,s值为数组元素之和并且与max值比较 for(int i=0;i<length;i++) { s=0; for(int j=i;j<length+i;j++) { s=s+a[j]; if(s>max) { max=s; } } a[length+i]=a[i]; } cout<<endl; cout<<"最大子数组的和为:"<<endl; cout<<max<<endl; }






在上面三个截图中我针对5个元素做了测试,第一个是首尾加起来是最大数组,第二个是数组之内就能完成求最大字数组,第三个是负数特别多的时候的一个结果。
功能不是太完善。

转载于:https://www.cnblogs.com/jump/p/4430547.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值