试试这个
#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 rate = list[p] - list[j];
// 遍历 开头到结尾值之和
int value = 1;
for ( int q = j ; q <= p ; q++ ) {
value *= list[q];
printf("%d ", value);
if ( q != p ) {
if ( (list[q + 1] - list[q]) * rate < 0 ) {
printf("x");
break;
}
}
}
printf("\n");
if ( value > max ) {
max = value;
}
}
}
printf("%d", max);
}