计算一串连续数组的之间 连续几个数(任意连续)之和的最大值 Microsoft Visual Studio

时间:2022-09-27 20:16:44
/*
计算一串连续数组的之间  连续几个数(任意连续)之和的最大值
no zuo no die 
*/


#include "stdio.h"
#include "stdlib.h"
#define N 4


void main()
{
//int a[N]={5,3,-1,4,-3,-1,0,-5};//可以提前定义几个数组成员
int a[N];                        
int i,j,temp;
int max=0;
printf("please input %d numbers(At least a positive number):\n",N);//方法二:用户自己来写数据,通过N来改变输入数字的个数
for(i=0;i<N;i++)
{
printf("please input a number:    ");
scanf_s("%d",&a[i]); //取数
}
for(i=0;i<N;i++)
{
temp=0;                  //暂时变量temp=0,每次循环都将上一次的数值清零
for(j=i;j<N;j++)
{
temp=temp+a[j];       //暂时变量temp,来计算每次循环的连续数之和
if(temp>max)
{
max=temp;         //比较最大者
}
}

}
printf("\n    continuous max=%d\n\n",max);
system("pause");
}