C:
#include <stdio.h>
#define N 15
int main()
{
int arr[N][N] = { 0 }; //初始化
int i = 0;//行数
int j = 0;//列数
for (i = 0; i < N; i++)
{
arr[i][0] = 1; //每行首元素是 1
for (j = 0; j <= i; j++)//为啥j<=i呢?因为每一行的个数(每一列多少个=j)等于该行行数 (i)
{
if (i == j)
{
arr[i][j] = 1; //每行末位是 1
}
if (i >= 2 && j >= 1) //中间元素在第三行第二列才开始有,
//之后每一行的中间元素都要执行。
{
arr[i][j] = arr[i - 1][j] + arr[i - 1][j-1];
}
}
}
//打印
for (i = 0; i < N; i++)
{
for (j = 0; j <= i; j++)
{
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
Java:
public class YH {
public static void main(String[] args) {
int arr[][];
int N = 10;
arr = new int[N][N];
int i = 0;//行数
int j = 0;//列数
for (i = 0; i < N; i++)
{
arr[i][0] = 1; //每行首元素是 1
for (j = 0; j <= i; j++)//为啥j<=i呢?因为每一行的个数(每一列多少个=j)等于该行行数 (i)
{ if (i == j)
{
arr[i][j] = 1; //每行末位是 1
}
if (i >= 2 && j >= 1) //中间元素在第三行第二列才开始有,
//之后每一行的中间元素都要执行。
{
arr[i][j] = arr[i - 1][j] + arr[i - 1][j-1];
}
}
}
//打印
for (i = 0; i < N; i++)
{
for (j = 0; j <= i; j++)
{
System.out.print(arr[i][j]+" ");
}
System.out.println();
}
}
}