求最大整数子序列和 以及C++读取数据

来源:互联网 发布:东莞网站关键字优化 编辑:程序博客网 时间:2024/06/05 07:10

在做笔试题遇到读取一串数据,然后保存到数组中,以回车键为结束符

while((c=getchar())!='\n')
{
if(c!=' ')
{
ungetc(c,stdin);
cin>>data[i++];
}
}

求最大整数子序列和,考虑了全部输入为负数时,就输出整数中最大数

int maxsubsum(int size,int data[])
{
int maxsum=0,cursum=0;
int flag=0;
int max=-1000;
for(int i=0;i<size;i++)
{
if(data[i]<0)
flag++;
if(data[i]>max)
max=data[i];
cursum+=data[i];
if(cursum>maxsum)
maxsum=cursum;
else if (cursum<0)
cursum=0;
}
if(flag==size)
return max;
else
 return maxsum;
}

原创粉丝点击