杨辉三角的编程,求最佳解答
杨辉三角的编程,要求用二维数组(但空间尽量少),只用一个一维数组,和不用数组的解答。给50分,主要是希望大家共同参与,相互学习。
程序代码:#include <stdio.h>
int main()
{
int (*p)[10],*pt,a[10][10];
p=a;
for(;p<a+10;p++)
{
pt = *p;
for(;pt<*p+10;pt++)
*pt = 0;
}
//矩阵初始化,全为0
printf("The initial matrix is:\n");
p=a;
for(;p<a+10;p++)
{
pt = *p;
for(;pt<*p+10;pt++)
printf("%d ",*pt);
putchar('\n');
}
//矩阵次初始化,第一列全为1
p=a;
for(;p<a+10;p++)
**p=1;
printf("The after matrix is:\n");
p=a;
for(;p<a+10;p++)
{
pt = *p;
for(;pt<*p+10;pt++)
printf("%d ",*pt);
putchar('\n');
}
//矩阵杨辉三角化
int i,j;
for(i=1;i<10;i++)
{
for(j=1;j<=i;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
printf("The YangHui matrix is:\n");
p=a;
for(i=1;p<a+10;p++,i++)
{
pt = *p;
for(;pt<*p+i;pt++)
printf("%d ",*pt);
putchar('\n');
}
}
