结对作业

题目:返回一个整数数组 中最大子数组的和。

要求:
1、“要求程序必须能处理1000 个元素;

2、每个元素是int32类型的,出现子数组之和大于整型表示的最大范围会出现什么情况;输入一个整形数组, 数组里有正数也有负数。

3、数组中连续的一 个或多个整数组成一个子数组, 每个子数组都有一个和。
4、求所有 子数组的和的最大值。要求时间复杂度为0(n)。

结对编程要求:
1、“两人结对完成编程任务。
2、"一 人主要负责程序分析,代码编程。“一人负 责代码复审和代码测试计划。

代码内容:

#include<iostream>
#include<time.h>
#include<conio.h>
#define N 1000
using namespace std;
void RandIn(int IntNum,int A[])
{
cout<<"整数内容"<<endl;
for(int i=0;i<IntNum;i++)
{
A[i]=-(int)rand()%201+100;
cout<<A[i];
if(i%5==4)
cout<<endl;
else
cout<<' ';
}
}
void SelMax(int IntNum,int A[], int &sum)
{
int buffer=0;
for(int j=0;j<IntNum;j++)
{
buffer+=A[j];
if(buffer<0)
{
buffer=0;
}
if(sum<buffer)
{
sum=buffer;
}
}
}
void main()
{

int IntNum;
int A[N];
int q=0;
while(q==0)
{
int sum=0;
srand((unsigned)time(NULL));
cout<<"请输入整数的个数:";
cin>>IntNum;
RandIn(IntNum,A);
SelMax(IntNum,A,sum);
cout<<endl;
cout<<sum<<endl;
cout<<"是否继续测试(输入0则继续否则停止)";
cin>>q;
system("cls");
}
}

运行结果:

结对认美照:

原文地址:https://www.cnblogs.com/f135114/p/9786982.html