第二次作业
#include <stdio.h>
#include <stdlib.h>`
#include<cstdlib>
#include<ctime>
#include<iostream>
using namespace std;
int SetRandomNember()
{
int a;
srand((unsigned)time(NULL));
a = rand() % (20001) + (-10000);
return a;
}
int main()
{
int i, sum = 0;
int a[10000];
for (i=0 ; i <10000; ++i)//输入数组
{
a[i]=SetRandomNember();
}
int max=a[0];
int* p = &max;//指针p指向变量max
for (i=0; i <=9999; ++i)
{
sum = sum + a[i];
if (sum < a[i])
{
sum = sum + a[i];
}
if (sum > max)
{
max = sum;
}
*p = max;//将max的值存储进指针*p所指的空间
}
cout << "max is " << *p << endl;
}
修改之后可以通过随机数来构建大型数组,在随机生成的数组寻找最大子数组之和

浙公网安备 33010602011771号