C语言数组中最大连续子数组的乘积怎么算?

img


最大连续子数组的乘积怎么算?如何从键盘输入数字,将其存入一个数组中?

完整代码如下,入有用,望采纳谢谢!!

#include <stdio.h>
int main() {
    int list[100] = {0};
    char c;
    int i = 0 ;
    // 输入
    for( i = 0 ; c != '\n' ; i++ ){
        scanf("%d",&list[i]);
        scanf("%c",&c);
    }
    int max = list[0];
    // 获取遍历开头
    for( int j = 0 ; j < i ; j++ ){
        // 获取遍历结尾
        for( int p = j ; p < i ; p ++ ){
            printf(" %d - %d : ", j , p);
            // 遍历 开头到结尾值之和
            int value = 1;
            for( int q = j ; q <= p ; q++  ){
                value *= list[q];
                printf("%d " , value);
            }
            printf("\n");
            if( value > max ){
                max = value;
            }
        }
    }
    printf("%d",max);
}