返回一个首尾相连的整数数组中最大子数组的和
一、题目:n返回一个整数数组中最大子数组的和。
二、要求:
#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; }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。