------ 文章開始 ------

package exercise1;

import java.util.Scanner;

public class Exercise1
{
public static void main(String[] args)
{
Scanner scanner = new Scanner(System.in);
System.out.print("請輸入階數 : ");
int layer = scanner.nextInt();
int[][] magic = new int[layer][layer];
int r = 0;
int l = ((layer - 1) / 2);
for (int i = 1; i <= (layer * layer); i++)
{
magic[r][l] = i;
r = ((r + layer - 1) % layer);
l = ((l + 1) % layer);
if (magic[r][l] != 0)
{
r = (r + layer - 1) % layer;
l = (l + layer - 1) % layer;
}
}

for (int i = 0; i < magic.length; i++)
{
for (int j = 0; j < magic[i].length; j++)
{
System.out.print((magic[i][j]>9?"":" " )+ magic[i][j] + " ");
}
System.out.println();
}

//檢查:
System.out.println("總和檢查:");
int e=0,f=0;
for(int i = 0; i < magic.length ; i++)
{
int c=0,d=0;
for(int j =0; j < magic.length; j++ )
{
c += magic[i][j];
d += magic[j][i];
if (i==j)e+=magic[i][j];
if ((i+j+1) == magic.length)f+=magic[i][j];
}
System.out.printf("第%1$d行:%2$d\t",i,c);
System.out.printf("第%1$d列:%2$d\n ",i,d);
}
System.out.printf("右斜:%1$d\n ",e);
System.out.printf("左斜:%1$d\n ",f);
}
}
------ 文章結尾 ------

[複製網址] [開新視窗] [檢舉短網址] [QR條碼]

服務條款 - 加入會員(免費) - 回報問題網址 - 聯絡偶們 -

© 2025 PPT.cc