返回最大子数和(首位相连)
#include<stdio.h> #define N 100 int a[N]; int main() { int i,n,s=0,x,maxsum=0; printf("输入数值个数\n"); scanf("%d",&n); printf("输入数组数值\n"); for(i=0;i<n;i++) { scanf("%d",&a[i]); a[n+i]=a[i]; } for(i=0;i<2*n-2;i++) { s+=a[i]; if(s<0) s=0; else if(s>maxsum)maxsum=s; } printf("最大子数组的和\n"); printf("%d\n",maxsum); return maxsum; }