用动态法求最大子段和.cpp

来自「算法设计与分析的经典程序」· C++ 代码 · 共 17 行

CPP
17
字号
#include <stdio.h>
int MaxSum(int n,int *a)
{int i,b=0,sum=0;
for (i=0;i<n;i++){
	if (b>0)  {b += a[i];
         printf("\nb=%5d\n",b);}
	 else b = a[i];
	 if (b>sum) {sum = b;
         printf("\nsum=%5d\n",b);}
	}
return sum;
}
void main()
{int a[6]={-2,11,-4,13,-5,-2},n;
n=6;
printf("\n%10d\n",MaxSum( n,a));
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?