首页 > 代码库 > 打印杨辉三角形
打印杨辉三角形
以等腰三角形形式打印杨辉三角。
比如:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
代码例如以下:
void print_line(int *
line, int ln, int line_width)
{
int wscount
= (line_width-((ln+1)*4+ln))/2;
for(int i=0;
i<wscount; ++i)
printf( "
");
for(int i=0;
i<ln; ++i)
{
printf( "%4d
", line[i]);
}
printf( "%4d\n",
line[ln]);
}
// calculate next line of yanghui triangle
void next_line(int *
line, int ln)
{
int last_col
= line[0];
for(int col=1;
col<=ln; ++col)
{
int tmp
= line[col];
line[col] += last_col;
last_col = tmp;
}
line[ln+1] = 1;
}
void print_yanghui(int n)
{
if(n<=0)
return;
// allocate one
more int to avoid that next_line function writes after the end.
int*
line = new int[n+1];
line[0] = 1;
int line_width
= n*4+(n-1);
for(int ln=0;
ln<n; ++ln)
{
print_line(line, ln, line_width);
next_line(line, ln);
}
delete []line;
}
int main () {
for(int i=0;
i<12; ++i)
print_yanghui(i);
return 0;
}
打印杨辉三角形
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。