1. 程式人生 > >SDUT-Java——列印金字塔

SDUT-Java——列印金字塔

C語言實驗——列印金字塔 Time Limit: 1000 ms Memory Limit: 65536 KiB

Problem Description 輸入n值,列印下列形狀的金字塔,其中n代表金字塔的層數。 在這裡插入圖片描述

Input 輸入只有一個正整數n。

Output 列印金字塔圖形,其中每個數字之間有一個空格。

Sample Input 3

Sample Output

    1
  1 2 1
1 2 3 2 1

AC程式碼1:

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner mi = new Scanner(System.in);
		while (mi.hasNext()) {
			int n;
			n = mi.nextInt();
			for (int i = 1; i <= n; i++) {
				for (int j = 0; j < 2 * (n - i); j++) {
					System.out.print(" ");
				}
				for (int k = 1; k <= i; k++) {
					if (k == i) {
						System.out.print(k);
					} else {
						System.out.print(k + " ");
					}
				}
				for (int h = i - 1; h >= 1; h--) {
					System.out.print(" " + h);
				}
				System.out.println();
			}
		}
		mi.close();
	}
}

AC程式碼2:

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {

		Scanner mi = new Scanner(System.in);
		int n;
		n = mi.nextInt();
		for (int i = 1; i <= n; i++) {
			for (int j = 1; j <= 2 * (n - i); j++) {
				System.out.print(" ");
			}
			for (int k = 1; k <= i; k++) {
				if (k == i)
					System.out.print(k);
				else if (k < i)
					System.out.print(k + " ");
			}
			for (int h = i - 1; h >= 1; h--) {
				System.out.print(" " + h);
			}
			System.out.println();
		}
		mi.close();
	}
}

—————— 餘生還請多多指教!