面试题

 //【1】现有1~100 共一百个自然数,已随机放入一个有98个元素的数组a[98]。要求写出一个尽           

    // 量简单的方案找出没有被放入数组的那2个数,并在屏幕上打印这2个数 注意:程序不用实现                  

   // 自然数随机放入数组的过程                            

int[] a = new int[98];                 

     int[] num = new int[100];           

       int i;        

     for (i = 0; i < num.Length; i++)        

     {              

   num[i] = i + 1;            //随机放入       

       }           

  Random rand = new Random();      

              int temp;          

            for (i = 0; i < a.Length; i++)             

      {                         

      while (true)            

            {                       

             temp = rand.Next(100);                 

        if (num[temp] != 0)                

         {                                      

    num[temp] = 0;                 

          a[i] = temp + 1;                  

        break;                      

         }                     

        }              

        }

                          //查找            

       for (i = 0; i < a.Length; i++)         

    {               

  if (num[a[i] - 1] != 0)         

            num[a[i] - 1] = 0;     

        }//输出                

    for (i = 0; i < a.Length; i++)    

                  {           

      if (i % 10 == 0 && i > 0)//每十个换行      

           {                 

    System.Console.WriteLine();       

          }              

   System.Console.Write("{0,4}", a[i]);   //{0,4}占四个字位置    

           }              

       System.Console.WriteLine();      

           System.Console.Write("没有被放入数组的2个数:");  

           for (i = 0; i < num.Length; i++)      

       {              

   if (num[i] != 0)            

     {                  

   System.Console.Write("{0,4}", num[i]);       

          }       

      }            

System.Console.WriteLine();        

     Console.ReadLine();

posted @ 2014-02-25 13:45  xjt360  阅读(185)  评论(0编辑  收藏  举报