#include <stdio.h>
#include <stdlib.h>
int find(int a[],int n)/*计算最大子序列和*/
{
int max=0;
int i,j,cnt;
for(i=0;i<n;i++)
{
cnt = 0;
for(j=i;j<n;j++)
{
cnt += a[j];
if(cnt>max) max=cnt;
if(cnt<=0) break; /*说明从i到当前j之间的数可以舍去了*/
}
}
return max;
}
int find_max(int a[],int n)
{
int i,cnt;
int max=0;
for(i=0;i<n;i++)
{
cnt+=a[i];
if(cnt>max) max=cnt;
if(cnt<0) cnt = 0;
}
return max;
}
int main()
{
int i;
int a[10];
for(i=0;i<10;i++) scanf("%d",a+i);
printf("%d\n",find_max(a,10));
return 0;
}
int f1(int n)
{
int i,x,y;
x=y=1;
int a=1;
for(i=1;i<n;i++)
{
a=x+y;
y=x;
x=a;
}
return a;
}
最大子序列和?
最新推荐文章于 2021-04-27 19:24:47 发布