在初中,我们就知道,杨辉三角的两个腰边的数都是1,其它位置的数都是上顶上两个数之和。这就是我们用C语言写杨辉三角的’关键之一。在高中的时候我们又知道,杨辉三角的任意一行都是的二项式系数,n为行数减1。也就是说任何一个数等于这个是高中的组合数。n代表行数减1,不代表列数减1。如:第五行的第三个数就为=6。下面是小编为大家搜索整理的,希望能给大家带来帮助!更多精彩内容请及时***应届毕业生考试网!
#include
#include
int main******
{
int i,j,k;
int line;
int *prev, *next;
printf***"输入要查看杨辉三角的行数***大于2***:"***;
scanf***"%d",&line***;
if***line < 2***
{
printf***"行数小于2,Goodbye!n"***;
exit***1***;
}
for***i=1; i<=line; i++*** //前两行的打印
printf***" "***;
printf***"%6dn",1***;
for***i=1; i<=line-1; i++***
printf***" "***;
printf***"%6d%6dn",1,1***;
prev = malloc***2*sizeof***int******;
prev[0] = 1;
prev[1] = 1;
for***i=3; i<=line; i++*** //从第三行开始打印
{
next = malloc***i*sizeof***int******;
next[0] = 1;
next[i-1] = 1;
for***j=line; j>=i; j--*** //外部空格
{
printf***" "***;
}
printf***"%6d",1***;
for***k=2; k
{
next[k-1] = prev[k-2] + prev[k-1];
printf***"%6d",next[k-1]***;
}
}
printf***"%6dn",1***;
free***prev***;
prev = next;
}
free***next***;
return 0;
}