您的位置:首页 > 职场人生

中兴面试题

2018-03-04 16:35 113 查看
/**
  问题描述: 给定一个整数n,以下方式打印n行。如果n=5,则列阵为:(Java/C/C++)
  1
  3*2
  4*5*6
  10*9*8*7
  11*12*13*14*15
  此处使用语言:Java

 */
public class NumberPatternPrint {

    public static void main(String[] args) {
        numberPatternPrint(5);
    }

    private static void numberPatternPrint(int n) {

        int k = 1; // 控制数值的递增
        for (int i = 1; i <= n; i++) { // i 控制行输出
            int[] arr = new int[i]; // 创建一个数组,接受每行的值

            // 为数组赋值
            for (int j = 0; j < i; j++) { // j 控制列输出
                arr[j] = k;
                k++;
            }

            // 控制输出格式,奇偶行不同
            if (i % 2 != 0) {
                for (int x = 0; x < arr.length; x++) {
                    System.out.print(arr[x]);

                    if (x < arr.length - 1)
                        System.out.print("*");
                }
                System.out.println();
            } else {
                for (int x = arr.length - 1; x >= 0; x--) {
                    System.out.print(arr[x]);

                    if (x > 0 && x < arr.length)
                        System.out.print("*");
                }
                System.out.println();
            }
        }
    }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: