zyh12571X 2022-11-01 21:41 采纳率: 66.7%
浏览 34
已结题

C语言数组中最大连续子数组的乘积怎么算?(连续就是相邻两个数之间相差一如:1 2 3))

img


连续子组数指的是数字之间相差一,如:1 2 3和5 6 7是两个连续子数组,而5 6 7的乘积大于1 2 3的乘积,所以结果是5×6×7=210

  • 写回答

1条回答 默认 最新

  • 谢玄. 2022-11-01 21:44
    关注

    试试这个

    #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);
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月9日
  • 已采纳回答 11月1日
  • 创建了问题 11月1日

悬赏问题

  • ¥15 请问如何在openpcdet上对KITTI数据集的测试集进行结果评估?
  • ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
  • ¥20 有人知道这种图怎么画吗?
  • ¥15 pyqt6如何引用qrc文件加载里面的的资源
  • ¥15 安卓JNI项目使用lua上的问题
  • ¥20 RL+GNN解决人员排班问题时梯度消失
  • ¥60 要数控稳压电源测试数据
  • ¥15 能帮我写下这个编程吗
  • ¥15 ikuai客户端l2tp协议链接报终止15信号和无法将p.p.p6转换为我的l2tp线路
  • ¥15 phython读取excel表格报错 ^7个 SyntaxError: invalid syntax 语句报错