用C#做一个小程序
在1—100中随机产生20个随机数
再从20个随机数中找出质数并排序

解决方案 »

  1.   

    1. 取随机数: Random.Next(0, 100) 
    2. 判断质数(就20个数,用个遍历判断也就可以了)
       bool isPrime(int   x) 
       {  
          if(x < 2) return true; 
          for(i = 2; i <= sqrt(x); i++) 
             if(x%i == 0) return 0; 
                return true; 
       }
    3. List or Array 的Sort方法
      

  2.   

    bool isPrime(int x)
    {
        if (x < 2) return true;
        for (i = 2; i <= sqrt(x); i++)
            if (x % i == 0) return true;
        return false;
    }
      

  3.   

    建议你用c# 来写,很简单,代码如下class Sort
        {
            public void sort()
            {
                Random r = new Random(); 
                int[] rank = new int[20];
                for (int i = 0; i < 20; i++)
                {
                    rank[i] = r.Next(1, 100);
                }
                Console.WriteLine("\n随即产生的数是:");
                foreach (int v in rank)
                {
                    Console.Write(v.ToString()+"  ");
                }            Array.Sort(rank);
                Console.WriteLine("\n从小到大排序后的数是");
                foreach (int v in rank)
                {
                    Console.Write(v.ToString() + "  ");
                }
                Array.Reverse(rank);
                Console.WriteLine("\n从大到小排序后的数是");
                foreach (int v in rank)
                {
                    Console.Write(v.ToString() + "  ");
                }
                Console.WriteLine();
            }
        }
      

  4.   

    楼上那位:
    for (int i = 0; i < 20; i++)
                {
                    rank[i] = r.Next(1, 100);
                  System.Threading.Thread.Sleep(1);
                }
    产生随机数,要让线程sleep一下
    判断很好弄的,sort()方法就是排序直接调用
      

  5.   

    Random rand = new Random(Guid.NewGuid().GetHashCode());
    rand .Next(最小值,最大值)
    Random rnd = new Random(DateTime.Now.Millisecond);
      
    Enumerable.Range(1, 100).OrderBy(Guid.NewGuid()); 
    质数
    for (int i = 1; i <= k; i++)
      {
      for (int j = 2; j <= Math.Sqrt(i); j++)
      {
      if (i % j == 0)
      {
      flag = 0;
      break;
      }
      }
      if (flag == 1) Console.WriteLine("{0} ", i);
      flag = 1 ;   
      }
     }