给定n个整数,其中0可以替换成任意其他数字,要求判断这n个整数是否连续

给定n个整数(0-100),其中0可以替换成任意其他数字,要求判断这n个整数是否连续?(存在重复数字也判定为连续)

列 输入 5 6 7 8 9

 输出 true

输入 5 0 7 8 9

 输出 true

输入 5 6 7 8 9

  输出 true

输入 5 8 6 7 9

 输出 false

你的问题没有交代很清楚,一个是n=0的时候,算true还是false(我的程序算true)
一个是什么叫做“连续”,是连续增长或者下降,还是相隔两个数字的绝对值=1(比如 1 2 3 2 1算不算连续,我的程序不算,但是1 3 5 7 9算)

问题解决的话,请点下采纳

#include <iostream>
using namespace std;

int main()
{
    int order = 0;
    int r = 1;
    int n, x, y, n1 = 0;
    cin >> n;
    for (int i = 0; i < n; i++)
    {
        cin >> y;
        if (y == 0) continue;
        if (n1 != 0)
        {
            if (order != 0)
            {
                if ((x < y && order == 2) || (x > y && order == 1))
                {
                    r = 0;
                }
            }
            else
            {
                if (x > y) order = 2;
                else if (x < y) order = 1;
            }
        }
        x = y;
        n1++;
    }
    if (n1 < 2 || r == 1) cout << "true"; else cout << "false";
    return 0;
}

我用c#写的

int[] arr = { 5, 6, 7, 8, 9 };

        for (var i = 0; i < arr.Length - 1; i++)
        {
            if (arr[i] == arr[i + 1])
            {
                List<int> list = arr.ToList();
                list.RemoveAt(i);
                arr = list.ToArray();
                i--;
            }
        }
        bool result = true;
        for (int i = 1; i < arr.Length; i++)
        {
            if (arr[i] != 0 && arr[i - 1] != 0)
            {
                if (arr[i] - arr[i - 1] != 1 && arr[i] - arr[i - 1] != 0)
                {
                    result = false;
                    break;
                }
            }
        }
                    你看看有没有问题 我在改改