标题:为什么我输入五个0不是输出-1,而是1?
取消只看楼主
柴晓晋
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2013-2-3
结帖率:88.89%
已结贴  问题点数:4 回复次数:1 
为什么我输入五个0不是输出-1,而是1?
输入n个元素组成的序列S,你需要找出一个乘积最大的连续子序列。如果这个最大的乘积不是正数,输出-1表示无解。1≤n≤18,-10≤Si≤10。
#include<stdio.h>
int main()
{
int n,A[18],i,max=0,k,s=1,h;
scanf("%d ",&n);
for(i=0;i<=n-1;i++)
{
scanf("%d",&A[i]);
}
for(k=n;k>=1;k--){
for(h=0;h<=n-k;h++){
for(i=h;i<=k-1;i++)
{
s=s*A[i];
}
if(s>=max)
max=s;
s=1;
}}
if(max>0)
printf("%d",max);
else
printf("-1");
return 0;
}

搜索更多相关主题的帖子: max return 最大的 
2013-05-25 16:55
柴晓晋
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2013-2-3
得分:0 
回复 2楼 我叫沃恩
但是输入5个 0,本应输出-1,表示无解,可输出却是1
2013-05-25 22:20



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-407991-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.329087 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved