3879 - 4.18(4) 使用循环语句打印图案

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

编写程序,提示用户输入一个在1到30之间的整数,然后显示一个斜倒三角形状的图案。

题目输入

输入一个在1到30之间的整数n

题目输出

显示一个n行正上三角形状的图案,每个数字之间空一格。如下面示例。

输入/输出样例

输入格式

6

输出格式

6 5 4 3 2 1 
  5 4 3 2 1 
    4 3 2 1 
      3 2 1 
        2 1 
          1 

Java解答

import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner n = new Scanner(System.in);
		int a = n.nextInt();
		int i = a, k = 0, y = 0;
		if (a < 10) {
			while (i > 0) {
				k = (a - i) * 2;
				while (k > 0) {
					System.out.print(" ");
					k--;
				}
				y = 0;
				while (i > 0) {
					System.out.print(i + " ");
					i--;
					y++;
				}
				i = i + y;
				i--;
				System.out.print("\n");
			}
		} else {
			int c = 0;
			while (i > 0) {
				if (i > 8) {
					k = (a - i) * 2 + c;
					while (k > 0) {
						System.out.print(" ");
						k--;
					}
					y = 0;
					c++;
					while (i > 0) {
						System.out.print(i + " ");
						i--;
						y++;
					}
					i = i + y;
					i--;
					System.out.print("\n");
				} else {
					int d = a - 9;
					k = (a - i) * 2 + d;
					while (k > 0) {
						System.out.print(" ");
						k--;
					}
					y = 0;
					while (i > 0) {
						System.out.print(i + " ");
						i--;
						y++;
					}
					i = i + y;
					i--;
					System.out.print("\n");
				}
			}
		}

	}
}