如上

解决方案 »

  1.   

    int[] array1=new int[9]{12,4,20,8,49,3,6,14,8}
    找最大值和最小值
    初学程序,只是想用C#实现一下,原理我知道了,但代码写不出来,请好心的大虾们帮一下吧,感激不尽
      

  2.   

    int[] array1=new int[9]{12,4,20,8,49,3,6,14,8}
    找最大值和最小值
    初学程序,只是想用C#实现一下,原理我知道了,但代码写不出来,请好心的大虾们帮一下吧,感激不尽
    array1.Sort().
    array1[0]  array1[array1.Count-1]
    就OK了.
      

  3.   

    sorry,,
    应该是:Array.Sort(array1)静态方法.
      

  4.   

    找最大值最小值……初级程序课程5堂课之内必学的内容//假设第一个数字就是最小值,同时也是最大值
    int min = array1[0], max = array1[0];//从第二个数字开始找是不是有更小的或者更大的
    for (int i = 1; i < array1.Length; i++)
    {
      if (array1[i] < min)
        min = array1[i];
      if (array1[i] > max)
        max = array1[i];
    }// 完成
      

  5.   

    //以下是进行排序
    string[] number = new string[1];
    number = result.Split('$');
    try
    {
       num = number.Length;
       min = Convert.ToDouble(number[1]);//Min为价格的最小值
       max = Convert.ToDouble(number[1]);//Max为价格的最大值
       for(int i=2;i<num;i++)           //比较价格的大小
       {
        if(min>Convert.ToDouble(number[i]))
         {
    min = Convert.ToDouble(number[i]);
         }
        if(max<Convert.ToDouble(number[i]))
         {
    max = Convert.ToDouble(number[i]);
         }
       }
         result = min+"-"+max;   //输出Min和Max的范围
    }
    catch(Exception)
    {
    return "";
    }这是以前写的一个,参考下哈
      

  6.   

    不好意思,没理解lz的意思.郁闷..Array.IndexOf(array, value, startIndex, count)你去看下Array的静态方法,够你用的.
    没必要做那么多的重复工作.
      

  7.   

    using System;
    using System.Collections.Generic;
    using System.Text;namespace ConsoleApplication1
    {
    class Program
    {
    static void Main(string[] args)
    {
    int[] array1 = new int[9] { 12, 4, 20, 8, 49, 3, 6, 14, 8 };
    Console.WriteLine(Max(array1, 0, array1.Length - 1));
    }
    static int Max(int[] ia,int i,int j)
    {
    if (i == j)
    return ia[i];
    if (i + 1 == j)
    return ia[i] > ia[j] ? ia[i] : ia[j];
    int k = (j+i)/ 2;
    int max1=Max(ia,i,k);
    int max2=Max(ia,k+1,j);
    return max1 > max2 ? max1 : max2;
    } }
    }手边没有书 可能没书上的代码优美 but it works 求最小值只要稍加改动即可
      

  8.   

    楼主的意思是用分治法求最值吧using System;
    using System.Collections;
    class MainClass
    {
        public static int BinaryMax(int[] arr, int m, int n)
        {
            if (m >= n - 1)
                return arr[m] >= arr[n] ? arr[m] : arr[n];
            else
                return BinaryMax(arr, 0, m) >= BinaryMax(arr, m + 1, n) ? BinaryMax(arr, 0, m) : BinaryMax(arr, m + 1, n);
        }
        public static int BinaryMin(int[] arr, int m, int n)
        {
            if (m >= n - 1)
                return arr[m] < arr[n] ? arr[m] : arr[n];
            else
                return BinaryMin(arr, 0, m) <= BinaryMin(arr, m + 1, n) ? BinaryMin(arr, 0, m) : BinaryMin(arr, m + 1, n);
        }
        public static void BinarySort(int[] arr, out int max, out int min)
        {
            int len = arr.Length;
            max = BinaryMax(arr, 0, len - 1);
            min = BinaryMin(arr, 0, len - 1);
        }    static void Main()
        {
            int[] arr = new int[10] { 5, 6, 4, 9, 1, 3, 7, 8, 2, 0 };
            int max = 0;
            int min = 0;
            BinarySort(arr, out max, out min);
            Console.WriteLine("The max number is " + max);
            Console.WriteLine("The min number is " + min);
        }
    }
      

  9.   

    昨天智力骤降,现在明白楼主意思了,Macosx() 的正解;但仍可简化——将 if (i + 1 == j) 这行去掉,让递归帮忙计算。shrinerain(圣影雨)的这个结构:
    BinaryMax(arr, 0, m) >= BinaryMax(arr, m + 1, n) ? BinaryMax(arr, 0, m) : BinaryMax(arr, m + 1, n);
    会造成重复计算——会很伤性能