1. 程式人生 > >課後作業第二篇

課後作業第二篇

sts eof include ios als 課後作業 http num test

技術分享圖片

作業:求一個整數數組所有子數組的和的最大值

#include<iostream>

using namespace std;

bool Find(int *pData, unsigned int nLength, int &nGreatestSum)
{
if(pData == NULL || nLength == 0)
return false;

int nCurSum = nGreatestSum = 0;

for(unsigned int i = 0; i < nLength; i++)
{
nCurSum += pData[i];
if(nCurSum < 0)
nCurSum = 0;
if(nCurSum > nGreatestSum)
nGreatestSum = nCurSum;
}

if(nGreatestSum == 0)
{
nGreatestSum = pData[0];
for(unsigned int i = 1; i < nLength; i++)
{
if(pData[i] > nGreatestSum)
nGreatestSum = pData[i];
}
}
cout<<nGreatestSum<<endl;
return true;
}

int main()
{
int a[] = {1, 2, -3, 10, 4, -7, 2, -5};
int greatNum;
Find(a, sizeof(a) / sizeof(int), greatNum);
//
system("pause");
return 0;
}

結果:

技術分享圖片

課後作業第二篇