桐立和谷护城明日 2021-11-12 22:52 采纳率: 100%
浏览 55
已结题

求解答,为什么Devc++和vscode,运行

#最长连续子序列:对于一个长度为 N 的数组,输出其连续的子序列及其起止
位置,并且找出长度最长的那个子序列,输出其长度。如
1 2 3 0 1 2 7 -1 -2 -1 0 1
输出:1 2 3 起 1 止 3;
0 1 2 起 4 止 6;
-2 -1 0 1 起 9 止 12;
最长连续子序列为:-2 -1 0 1,长度为:4.

#include<iostream>
using namespace std;
#define N 12
int main(){
    int a[N]{1,2,3,0,1,2,7,-1,-2,-1,0,1};
    int x,y,i,j,k,l,s;
    i=0,s=0;
    while (i<N)
    {   
        x=0;
        k=i;
        while (a[k]+1==a[k+1])
        {
            x++;
            k++;
        }
        if (s<x)
        {
            s=x;
            y=i;
        }
        if (x>=1)
        {   
            for (j=i;j<=k;j++)
            {
                printf("%d ",a[j]);
            }
            printf("起%d止%d\n",i+1,k+1);
        }
        i=k+1;          
    }
        printf("最长连续子序列为:");
    for(l=y;l<=y+s;l++){
        printf("%d ",a[l]);
    } 
    printf("长度为%d",s+1);
   return 0;
}

img

img

  • 写回答

1条回答 默认 最新

  • 关注

    a数组长度为12 下标从0到11
    i 循环到 N-1, k=i; 循环到最后 k=11, a[k+1]是访问a数组12下标,下标就越界了,
    数组下标越界所读取的值是未知且随机的。不同的系统环境会不一样

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月15日
  • 已采纳回答 12月7日
  • 创建了问题 11月12日

悬赏问题

  • ¥15 解决一个加好友限制问题 或者有好的方案
  • ¥15 关于#java#的问题,请各位专家解答!
  • ¥15 急matlab编程仿真二阶震荡系统
  • ¥20 TEC-9的数据通路实验
  • ¥15 ue5 .3之前好好的现在只要是激活关卡就会崩溃
  • ¥50 MATLAB实现圆柱体容器内球形颗粒堆积
  • ¥15 python如何将动态的多个子列表,拼接后进行集合的交集
  • ¥20 vitis-ai量化基于pytorch框架下的yolov5模型
  • ¥15 如何实现H5在QQ平台上的二次分享卡片效果?
  • ¥30 求解达问题(有红包)