1 /************************************************************************* 2 > File Name: 29_GreatestSumOfSubArray.c 3 > Author: Juntaran 4 > Mail: JuntaranMail@gmail.com 5 > Created Time: 2016年09月01日 星期四 20时37分22秒 6 ************************************************************************/ 7 8 #include <stdio.h> 9 10 int FindGreatestSumOfSubArray(int* nums, int length) 11 { 12 if (nums==NULL || length<=0) 13 { 14 printf("error\n"); 15 return -1; 16 } 17 18 int CurSum = 0; 19 int MaxSum = 0; 20 21 for (int i = 0; i < length; ++i) 22 { 23 if (CurSum <= 0) 24 CurSum = nums[i]; 25 else 26 CurSum += nums[i]; 27 28 if (CurSum > MaxSum) 29 MaxSum = CurSum; 30 } 31 printf("MaxSum is %d\n", MaxSum); 32 return MaxSum; 33 } 34 35 int main() 36 { 37 int nums[] = {1,-2,3,10,-4,7,2,-5}; 38 int length = 8; 39 FindGreatestSumOfSubArray(nums, length); 40 }