为什么我输入五个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;
}