杨辉三角含义
在初中,我们就知道杨辉三角的两个腰边的数都为1,其它的位置数都是上顶上两个数之和。这就是我们用C语言写杨辉三角的关键之一。
首先定义一个二维数组,arr[]N[N],略大于打印的行数,再令两边的数为1,即当每行的第一个数和最后一个数为1。
for(i=1;i<=n;i++)
a[i][1] = a[i][i] = 1; /*两边的数令它为1,因为现在循环从1开始,就认为a[i][1]为第一个数*/
除两边的数外,任何一个数上为上两顶数之和,即a[i][j]=a[i-1][j-1] +a[i-1][j]。
for(i=3;i<=n;i++)
for(j=2;j<=i-1;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j]; /*除两边的数外都等于上两顶数之和*/
让输出的数呈杨辉三角形状
for(k=1;k<=n-i;k++)
printf(" "); /*这一行主要是在输出数之前打上空格占位,让输出的数更美观*/
整体代码如下(可运行):
#include <stdio.h>
#define N 14
int main() {
int n=0;
while (n<=0 || n>=14){
printf ("请输入杨辉三角形的梯数\n");
sca