求整形数组中子数组和的最大值 郭莉莉、李亚文

#include<iostream.h>
int bijiao(int list[],int n)
{
    int q,t,i,j;
    int max=list[0];
    for(i=0;i<n;i++)
	{
		int p=list[i];
		for(j=i+1;j<n;j++)
		{
                    t=p+list[j];
		  if(p<t)
		  {
			  q=t;
			  t=p;
			  p=q;
		  }
		}
		if(max<p)
			max=p;
	}
	return max;
}

void main()
{
	int n;
	int a[20];
         char b='y';
	while(b=='y'||b=='Y')
	{
           cout<<"请输入整数数组的个数:";
	  cin>>n;
	  cout<<"请输入数组:"<<endl;
	  for(int i=0;i<n;i++)
	  {
		cin>>a[i];
	  }
            cout<<bijiao(a,n)<<endl;
	   cout<<"是否继续(继续请输入y,否则其他字符结束):";
	   cin>>b;
	}
	
}

程序分输入和比较两大块;

输入采用活输入;

比较是嵌套循环找出最大值。内循环是查出第一个数分别和其他数之和中最大的数,

再找出第二个数和其他数之和最大的数,依次类推,查出所有的最大数,让后再进行最大数之间的比较

查出子数组之和最大的数。

原文地址:https://www.cnblogs.com/guolili/p/3591638.html