迷茫中的实验楼学习-数据结构1

来源:互联网 发布:知乎 美国epic公司 编辑:程序博客网 时间:2024/05/12 00:39

输入一组整数,求出这组数字子序列和中的最大值,只要求出最大子序列的和,不必求出最大值对应的序列。

最大子序列和:整数序列A1, A2,... An (可能有负数),求A1~An的一个子序列Ai~Aj,使得Ai到Aj的和最大。

例如:

序列:-2, 11, -4, 13, -5, 2, -5, -3, 12, -9,则最大子序列和为21。

序列:0, -3, 6, 8, -20, 21, 8, -9, 10, -1, 3, 6, 5,则最大子序列和为43。

problem:   c++中输入怎么在键盘输入enter键时跳出输入执行程序?输入流里的cin具体怎么用 有哪些对象函数?奋斗

代码:

#include<iostream>
using namespace std;
int main()
{
int Maxnum=0;
int count=0;
int a[10000];
for(;count<10000;count++)
{
scanf("%d",&a[count]);
if(getchar()=='\n')break;
}
for(int i=0;i<count;i++)
{
int sum=0;
for(int j=count;j>i;j--)
{
sum+=a[j];
if(sum>Maxnum)
{
Maxnum=sum;
}
}
}
cout<<Maxnum<<endl;
return 0;
 }  

0 0
原创粉丝点击