关键要解决“围成一圈”。
但数组是单向的不能首尾相接,所以必须找到规律适当将首位的数衔接到数组后端。
#include<stdio.h>
int a[1000];
int main()
{
int i,j,max=-32768000,n,m,s=0;
scanf("%d%d",&n,&m);
for(i=0;i<n;i++)
scanf("%d",&a[i]);//输入原数组
for(i=0;i<m-1;i++)
a[n++]=a[i];//将前m-1位数组元素衔接在原数组后端
for(i=0;i<n-1;i++)
{
s=0;//每次比大小后要将s初始化
for(j=i;j<m+i;j++)
s=s+a[j];
if(s>max) max=s;
}
printf("%d",max);
return 0;
}
``
如果对大家有帮助记得点个赞哈!
转载:https://blog.csdn.net/zhoujun12343/article/details/113613632
查看评论