/*
2017年3月9日17:08:49
java基础50道经典练习题 例33
Athor: ZJY
Purpose:
【程序33】
题目:打印出杨辉三角形(要求打印出10行如下图)
程序分析:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
*/
import java.util.Scanner;
public class ProgramNo33_1
{
public static void main(String[] args)
{
System.out.print("请输入杨辉三角需要输出的层数: ");
Scanner sc = new Scanner(System.in);
int number = sc.nextInt();
yangHuiTrigon(number);
}
private static void yangHuiTrigon(int n)
{
if(12 < n) {
System.out.print("不要大于12层!");
return;
}
int[][] array = new int[n][n];
for (int i=0; i<array.length; i++)
{
for(int k=i; k<n+n/4; k++)
System.out.print(" ");
for (int j=0; j<i+1; j++)
{
if((0 == j)||(i == j)) {
array[i][j] = 1;
}else {
array[i][j] = array[i-1][j-1]+array[i-1][j];
}
if(array[i][j] > 99) {
System.out.print(array[i][j]+" ");
}else if(array[i][j] > 9){
System.out.print(array[i][j]+" ");
}else{
System.out.print(array[i][j]+" ");
}
}
System.out.println();
}
//printArray(array);
}
private static void printArray(int[][] array)
{
for (int i=0; i<array.length; i++) {
for (int j=0; j<array[i].length; j++) {
System.out.print(array[i][j]+" ");
}
System.out.println();
}
}
}
/*
2017年3月9日17:08:49
java基础50道经典练习题 例33
Athor: ZJY
Purpose:
*/
public class ProgramNo33_2
{
public static void main(String[] args){
int[][] n = new int[10][21];
n[0][10] = 1;
for(int i=1; i<10; i++)
for(int j=10-i; j<10+i+1; j++)
n[i][j] = n[i-1][j-1]+n[i-1][j+1];
for(int i=0; i<10; i++) {
for(int j=0;j<21;j++) {
if(n[i][j] == 0)
System.out.print(" ");
else{
if(n[i][j] < 10)
System.out.print(" "+n[i][j]);//空格为了美观需要
else if(n[i][j] < 100)
System.out.print(" "+n[i][j]);
else
System.out.print(n[i][j]);
}
}
System.out.println();
}
}
}