题目描述
输入n个元素组成的序列S,你需要找出一个乘积最大的连续子序列,如果这个最大乘积不是正数,则输出0。
输入
第一行输入n(1<=n<=9)表示序列的长度,第二行输入n个整数表示序列的元素(-10<=元素<=10)以空格分隔,最后一个数字之后无空格)。
输出
输出结果(结果之后无空格)
输入样例1
3
2 4 -3
输出样例1
8
#include<stdio.h>
int main()
{
int n,S[100],i,h,a[100],j,max,temp=1;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d",&S[i]);
}
max=S[0];
for(int i=0;i<n;i++)
{
for(int j=0;j<n-i;j++)
{
temp=1;
for(int h=0;h<i;h++)
{
temp=temp*S[j+h];
}
}
}
if(temp>max)
{
max=temp;
printf("%d",max);
}
else
{
printf("0");
}
return 0;
}