2.1, 4.3, 2.2, 3.75,  4.4,6.24
这样的数
小大小大小大排列
或大小大小大小排列
能连续14个以上就输出

解决方案 »

  1.   

     static void Main(string[] args)
            {
                decimal[] array ={ 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, };
                int  num = check(array);
                switch (num)
                {
                    case 0:
                        Console.WriteLine("daxiao");
                        break;
                    case 1:
                        Console.WriteLine("xiaoda");
                        break;
                    case 2:
                       
                        Console.WriteLine("error");
                        break;
                }
            }
            private static int check(decimal[] array)
            {
                bool daxiao = true;
                bool xiaoda = true;          
                if (array.Length > 14 * 2)
                {
                    for (int i = 0; i < 14 * 2; i += 2)
                        if (array[i] < array[i + 1])
                        {
                            daxiao = false;                       
                        }
                        else
                            if (array[i] > array[i + 1])
                            {
                                xiaoda = false;                            
                            }                                            
                }
                if(daxiao) return 0;
                if(xiaoda) return 1;
                 return 2;           
            }
      

  2.   


    这个应该可以 
    比如  1 3 2 4 3 5 4 6
    分成  1 2 3 4
    和    3 4 5 6 
    两个数组  从索引 0 开始 比较两个数组相同位置的值 连续 >  或者 < 达到14 个 即满足条件
      

  3.   


    上面引用 错了 sorry
      

  4.   

    看这个ok不?
    double[] arr = new double[]{4.3, 2.1, 2.2, 6.24 , 4.4, 3.75 };
                double temp = 0;
                for (int i = 0; i < arr.Length-1; i++)
                {
                    if (arr[i]>arr[i+1])
                    {
                        temp = arr[i];
                        arr[i] = arr[i + 1];
                        arr[i + 1] = temp;
                    }
                    i++;
                }
                foreach (double d in arr)
                {
                    Console.WriteLine(d);
                }
      

  5.   

     static void Main(string[] args)
            {
                decimal[] array ={ 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, };
                int  num = check(array);
                switch (num)
                {
                    case 0:
                        Console.WriteLine("daxiao");
                        break;
                    case 1:
                        Console.WriteLine("xiaoda");
                        break;
                    case 2:
                       
                        Console.WriteLine("error");
                        break;
                }
            }
            private static int check(decimal[] array)
            {
                bool daxiao = true;
                bool xiaoda = true;          
                if (array.Length > 14 * 2)
                {
                    for (int i = 0; i < 14 * 2; i += 2)
                        if (array[i] < array[i + 1])
                        {
                            daxiao = false;                       
                        }
                        else
                            if (array[i] > array[i + 1])
                            {
                                xiaoda = false;                            
                            }                                            
                }
                if(daxiao) return 0;
                if(xiaoda) return 1;
                 return 2;           
            }
    能把数都输出不?
      

  6.   

    第一步:判断数组的length <28 就不继续了
    第二步:数组从小到大排序
    第二步:使用for循环 
           for(int i=0;i<arr.length-1;i++)
       {
           if(arr[i]==arr[i+1])
            {
              arr.Remove[i]  //如果相邻的两个数大小相等则 移除一个。(从小到大排序后,相等的数去 掉)
           }
        }
    第四步:从小到大排序 并且去掉了相邻的大小相等的数,那么再判断数组的长度大于28则符合要求,小于28则不和要求
      

  7.   

     double[] Arr = new double[] { 1.3, 8.1, 7.2, 8.24, 4.4, 7.75, 5.6, 9.2, 2.5, 3.2, 2, 3, 2, 5};
            string  StrTemp="";
            int count = 0;//记录合法的次数
            for (int i = 0; i < Arr.Length; i++)
            {
                if (i == 0)
                {
                    if (Arr[i] < Arr[i + 1])
                    {
                        i += 2;
                        count++;
                        if (Arr[i] < Arr[i - 1])
                        {
                            if (Arr[i] < Arr[i + 1])
                            {
                                i += 1;
                                count++;
                            }
                            else
                            {
                                count = 0;
                            }
                        }
                        else
                        {
                            count = 0;
                        }
                    }
                    else
                    {
                        i ++;
                    }
                }
                else
                {
                    if (Arr[i] < Arr[i - 1])
                    {
                        if (i != Arr.Length-1)
                        {
                            if (Arr[i] < Arr[i + 1])
                            {
                                i += 1;
                                count++;
                            }
                            else
                            {
                                count = 0;
                            }
                        }
                    }
                }
                if (i == 3)
                {
                    StrTemp = Arr[i - 1].ToString();
                }
            }
            //if (count == 6)
            //{
            //    Label1.Text = count.ToString();
            //}
            Label1.Text = count.ToString();
            Label2.Text = StrTemp;这样结果是 连续7次小大
      

  8.   

     double[] Arr = new double[] { 1.3, 8.1, 7.2, 8.24, 4.4, 7.75, 5.6, 9.2, 2.5, 3.2, 2, 3, 2, 5};
            string  StrTemp="";
            int count = 0;//记录合法的次数
            for (int i = 0; i < Arr.Length; i++)
            {
                if (i == 0)
                {
                    if (Arr[i] < Arr[i + 1])
                    {
                        i += 2;
                        count++;
                        if (Arr[i] < Arr[i - 1])
                        {
                            if (Arr[i] < Arr[i + 1])
                            {
                                i += 1;
                                count++;
                            }
                            else
                            {
                                count = 0;
                            }
                        }
                        else
                        {
                            count = 0;
                        }
                    }
                    else
                    {
                        i ++;
                    }
                }
                else
                {
                    if (Arr[i] < Arr[i - 1])
                    {
                        if (i != Arr.Length-1)
                        {
                            if (Arr[i] < Arr[i + 1])
                            {
                                i += 1;
                                count++;
                            }
                            else
                            {
                                count = 0;
                            }
                        }
                    }
                }
                if (i == 3)
                {
                    StrTemp = Arr[i - 1].ToString();
                }
            }
            //if (count == 6)
            //{
            //    Label1.Text = count.ToString();
            //}
            Label1.Text = count.ToString();
            Label2.Text = StrTemp;这样结果是 连续7次小大
      

  9.   

     double[] Arr = new double[] { 1.3, 8.1, 7.2, 8.24, 4.4, 7.75, 5.6, 9.2, 2.5, 3.2, 2, 3, 2, 5};
            string  StrTemp="";
            int count = 0;//记录合法的次数
            for (int i = 0; i < Arr.Length; i++)
            {
                if (i == 0)
                {
                    if (Arr[i] < Arr[i + 1])
                    {
                        i += 2;
                        count++;
                        if (Arr[i] < Arr[i - 1])
                        {
                            if (Arr[i] < Arr[i + 1])
                            {
                                i += 1;
                                count++;
                            }
                            else
                            {
                                count = 0;
                            }
                        }
                        else
                        {
                            count = 0;
                        }
                    }
                    else
                    {
                        i ++;
                    }
                }
                else
                {
                    if (Arr[i] < Arr[i - 1])
                    {
                        if (i != Arr.Length-1)
                        {
                            if (Arr[i] < Arr[i + 1])
                            {
                                i += 1;
                                count++;
                            }
                            else
                            {
                                count = 0;
                            }
                        }
                    }
                }
                if (i == 3)
                {
                    StrTemp = Arr[i - 1].ToString();
                }
            }
            //if (count == 6)
            //{
            //    Label1.Text = count.ToString();
            //}
            Label1.Text = count.ToString();
            Label2.Text = StrTemp;这样结果是 连续7次小大