`
PanShuiHua
  • 浏览: 30261 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
最近访客 更多访客>>
社区版块
存档分类
最新评论

华为笔试题:实现一个5*5的数阵

阅读更多

题目:随便给你一串无顺序的数字,编程实现如下输出:

26      148     250     304     426


26      152     259     317     438


99      193     263     359     440


120     209     267     411     455


128     212     275     424     459

 


525     706     788     944


540     735     815     961


569     739     820     985


587     754     826


680     780     831

题目大概就是这个意思,我的代码实现如下

import java.util.*;
class Test

{
 public static void main(String[] args)
 {
  System.out.print("请输入你要输入多少个数(限制在1000个之内)");
  Scanner input = new Scanner(System.in);
  Random rand = new Random();
  int length = input.nextInt();
  int[] arr = new int[length];
  for (int i =0;i<length ;i++ )
  {
   arr[i]=rand.nextInt(1000);
  }
  for (int i =0;i<length-1 ;i++ )
  {
   for (int j=0;j<length-i-1 ;j++ )
   {
    if(arr[j]>arr[j+1])
     arr[j]=arr[j+1]+(arr[j+1]=arr[j])*0;
   }
  }

  double cols = Math.ceil(length/5.0);//得到能分成几列
  double rows = Math.ceil(length/25.0)*5;//得到能分成几行
  int index = 0;
  int nextIndex =0;
  for (int i=0; i< rows;i++ )
  {
   if(i<5){
    index=i;
   }else if(i>=5){
    if(i%5==0){
     System.out.println("\n");
     nextIndex=i*5;
    }
    index = nextIndex++;
   }
   for (int j = 0; j< 5;j++ )
   {
    if(index<length){
     System.out.print(arr[index]+"\t");
     index+=5;
    }
   }
   System.out.println("\n\n");   
  }
 }
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics