您的位置 首页 百科问答

杨辉三角 用c语言怎么编程

杨辉三角 用c语言怎么编程

杨辉三角的形状如下(因为百度知道不支持输出空格,故以空格间隔。)

********1********(a+b)^0("^"表示次方)

*******1*1*******(a+b)¹

******1*2*1******(a+b)²

*****1*3*3*1*****(a+b)³

****1*4*6*4*1****(a+b)^4

我们知道,杨辉三角形的压于担某光特点是:每行的第一列为1,最后一列为1。从第三行开始,中间各列等于上一行中前列与本列的和。

可以看出,最后一列的列数正好等于行数(第n行有n个数)。

我们首先就想到,使用一个二重循环就可解决这个问题,但是其中有个问题需要解委庆信笑矿美物决,就是数字的位置。C语言中不能象PASCAL语言那样确定打印的坐标,但可以用空格来间接实现。认真观察一下印凯基攻就会发现,从第二行开始,每行的第一个数都比上一行左移一个位置,也就是说,每行第一个数之前的空格数逐行减去一个数字所占的列数。turboc2.0以字符输出时,每行80个字符360问答,我们把第一行的第一个数(本行就一个数即1)放在第法包积策践40个字符的位置处,且规定第个数字占4列,第二行的第一个数要向左移8列(因为下一行的第n个数和上一行的第n个数不在同一列,即并不对齐,而粒般失承京落纸导是刚好错开一个字符的距离)

代码如下:

#defineM10

num(i,j)

inti,j;

{

if(i==j||j==0)

return(1);

else

return(num于害承入静封视孙移殖(i-1,j-1)+num(i-1,j));

}

main()

{

intn,i,j,k;

clrscr();

printf("输入要打印的行难连茶给服赵混离数n:(n<=M)");

s至三唱移对爱织思canf("%d本婷合从字法板任阶降鲁",&n);

for(i=0;i

{

for(k=0;k<36沉边茶肥球业说许轮-2*i;k++)/*因为每个数占4列,所以下一行要少打2个空格就刚好错开*/

printf("");

for(j=0;j<=i;j++)

printf("%4d",num(i,j));

printf("\n");

}

getch();

}

上一篇 求 逝者之证 第二季 百度云案啊江妒微免费在线观看资源
下一篇 机器猫按到继几悲伤大结局漫画
扫一扫,手机访问

扫一扫,手机浏览