求高手 解释一下
目的是:如何求一个由n个元素组成整型数组中连续m(m<=n)个元素的和的最大值??? #include<stdio.h>
#define N 10
int main()
{
int a[N]={0};
int s[N]={0};
int m=0;
int i,j,max=0,flag=0;
for(i=0;i<N;i++)
{
printf("Input a[%d]:",i);
scanf("%d",&a[i]);
}
这个没有规定n的值,怎么能比较i和n的大小?
printf("Input m:");
scanf("%d",&m);
for(i=0;i<=N-m;i++)
为什么这里是n-m呢?
{
for(j=0;j<m;j++)
{
s[i]+=a[j+i];
}
}
max=s[0];
for(i=0;i<N-m;i++)
{
if(max<s[i+1])////////此处错误,已修改
{
max=s[i+1];
flag=i+1;
// printf("%d\n",flag);
}
}
printf("从第%d个数连续加%d个数最大值为:%d\n",flag+1,m,max);
return 0;
}