用C语言编程求解打印10行杨辉三角

来源:百度知道 编辑:UC知道 时间:2024/05/12 16:49:36
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
....
.....
....

#include <stdio.h>
int main(void)
{
int a[10][10],(*p)[10]=a,i,j;
for(i=0;i<10;i++)
{
*(*(p+i)+0)=1;
*(*(p+i)+i)=1;
}
for(i=2;i<10;i++)
for(j=1;j<i;j++)
*(*(p+i)+j)=*(*(p+i-1)+j-1)+*(*(p+i-1)+j);
for(i=0;i<10;i++)
{
for(j=0;j<=i;j++)
printf("%5d",*(*(p+i)+j));
printf("\n");
}
getch();
return 0;
}
在c语言吧里有一个讨论这个问题的帖子很不错上面至少用了7种方法有兴趣的话自己去找找

#include<stdio.h>
main()
{
int i,j;
int a[10][10];
printf("\n");
for(i=0;i<10;i++)
{
a[i][0]=1;
a[i][i]=1;
}
for(i=2;i<10;i++)
for(j=1;j<i;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=0;i<10;i++)
{
for(j=0;j<=i;j++)
printf("%5d",a[i][j]);
printf("\n");
}
}

跟上面的一样

同意,同意

mei