设计思想:使程序能处理1000元素,每个元素为int32类型,并修改程序使得程序产生溢出现象。
源代码: #include <iostream #include<stdlib.h>
#include<time.h>
using namespace std;
int main()
{
int i;
int a[10000];
int max = 0;
int b = 0;
srand(time(NULL)); cout<<"数组为:"<<endl;
for (i = 0; i<10000; i++)
{
a[i] = rand()*4294967296 ;
}
for (i = 0; i<10000; i++)
{
cout << a[i] << '\t';
}
cout << endl;
for (i = 0; i < 10000; i++)
{
b += a[i];
if (b < 0)
b = 0;
if (b > max)
max = b;
}
if (max == 0)
{
max = a[0];
for (i = 0; i < 10000; i++)
{
if (max < a[i])
{
max = a[i];
}
}
}
cout <<"所有子数组的和的最大值:"<< max << endl;
system("pause");
return 0;
运行结果
合作人:倪彤炜 谷豪磊
总结:相比较于上次的数组设计,这次的任务数据量很大,已经无法用手动输入完成。而且也存在着数据溢出现象,在调试时也有些问题,最后经过一些调整完成了任务。