close
MagicBox3==>nXn陣列 import java.util.*;
public class MagicBox3
{ static Scanner console = new Scanner(System.in);
public static void main(String[] args)
{ int row, col,num,n;
System.out.print("請輸入矩陣大小: ");
n=console.nextInt();
int[][] box = new int[n][n];
int flg;
for(row=0; row for(col=0; col box[row][col]=0;
row=0;
col=n/2;
for(num=1; num<=n*n;num++)
{ flg=0;
if(row<0)
flg=flg+1;
if(col==n)
flg=flg+2;
if(flg==1)
row=n-1;
else if(flg==2)
col=0;
else if(flg==3||box[row][col]!=0)
{ row=row+2;
col=col-1;
}
box[row][col]=num;
row--;
col++;
}
for(row=0; row { for(col=0; col System.out.print(box[row][col] +"\t");
System.out.println();
}
}
} MagicBox2==>5x5陣列 用printf輸出 import java.util.*; public class MagicBox2 { public static void main(String[] args) { int row, col,num; int[][] box = new int[5][5]; int flg; for(row=0; row<=4;row++) for(col=0; col<=4; col++) box[row][col]=0; row=0; col=2; for(num=1; num<=5*5;num++) { flg=0; if(row<0) flg=flg+1; if(col==5) flg=flg+2; if(flg==1) row=4; else if(flg==2) col=0; else if(flg==3||box[row][col]!=0) { row=row+2; col=col-1; } box[row][col]=num; row--; col++; } for(row=0; row<=4;row++) { for(col=0; col<=4; col++) System.out.printf("%4d",box[row][col]); System.out.println(); } } } // using printf // "a": a string // "c": a Unicode character // "d": formated as a (decimal) integer // "f": formated as a floating point
arrow
arrow
    全站熱搜

    sayu5214 發表在 痞客邦 留言(1) 人氣()