首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

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

2012-11-03 
华为笔试题:实现一个5*5的数阵题目:随便给你一串无顺序的数字,编程实现如下输出:26????? 148???? 250????

华为笔试题:实现一个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");???
??}
?}
}

热点排行