巴斯卡三角形

时间:2022-08-17 11:14:14

巴斯卡三角形

 

 

/*
*内容:巴斯卡三角
*时间:2/13/2013
*/

#include <stdio.h>

//数学公式
long combi(int n, int r)
{
long p = 1;
for (int i = 1; i <= r; ++i)
{
p = p*(n-i+1) / i;
}
return p;
}

void print(int line)
{
for (int i = 0; i < line; ++i)//打印行数
{
for (int j = 0; j < (i+1); ++j)//根据第几行来决定一共有多少个元素
{
if ( j == 0 )//如果是第一个元素,则打印前面的空格
{
for ( int k = 0; k < line-i; ++k)
{
printf (" ");
}
}
else//否则输出元素后面的空格,这个空格数量取决于数字是 %xd 的x来决定的
{
printf(" ");
}
printf ("%3d", combi(i, j));
}
printf ("\n");
}
}

int main()
{
printf("请输入行数:");
int line = 0;
scanf ("%d", &line);
print(line);
}