您的位置:首页 > 编程语言 > C语言/C++

C语言小程序(四)、杨辉三角

2013-07-21 21:13 197 查看
输入要显示的杨辉三角的行数,会打印出金字塔型的杨辉三角,不过行数太多的话,效果不太好,可以再调整一下格式控制。
#include <stdio.h>
#include <stdlib.h>

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("%6d\n",1);
for(i=1; i<=line-1; i++)
printf("   ");
printf("%6d%6d\n",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<i; k++)				//数字
{
next[k-1] = prev[k-2] + prev[k-1];
printf("%6d",next[k-1]);
}
}
printf("%6d\n",1);
free(prev);
prev = next;
}
free(next);

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: