- #include<stdio.h>
- int max(int data[],int num);
- int main(){
- int data[]={-1,-2,-5,0};
- printf("%d\\n",max(data,sizeof(data)/sizeof(data[0])));
- }
- int max(int data[],int num){
- int i,maxsum=0,thissum=0;
- for(i=0;i<num;i++){
- thissum += data[i];
- if(thissum>maxsum)
- maxsum=thissum;
- if(thissum<0)
- thissum=0;
- }
- if(maxsum==0)
- {
- maxsum=data[0];
- for(i=0;i<num;i++)
- if(data[i]>maxsum)
- maxsum=data[i];
- }
- return maxsum;
- }
- //该片段来自于http://www.codesnippet.cn/detail/2310201513884.html
来源: http://www.codesnippet.cn/detail/2310201513884.html