直角三角杨三角
#include <stdio.h>
#define N 10
int main()
{
int a[N][N];
int i,j;
a[0][0] = 1;
for(i=0;i<N;i++)
for(j=0;j<=i;j++)
{
if(j==0||j==i)
a[i][j]=1;
else
a[i][j] = a[i-1][j-1]+a[i-1][j];
}
for(i=0;i<N;i++)
{
for(j=0;j<=i;j++)
printf("%d ",a[i][j]);
printf("\n");
}
return 0;
}
金字塔杨三角
#include <stdio.h>
#define N 10
int main()
{
int a[N][N],i,j;
a[0][0] = 1;
for(i=0;i<N;i++)
{
for(j=N;j>=i;j--)
printf("%2c",' ');
for(j=0;j<=i;j++)
{
if(j==i||j==0)
a[i][j]=1;
else
a[i][j]=a[i-1][j]+a[i-1][j-1];
printf("%3d ",a[i][j]);
if(i==j)
printf("\n");
}
}
return 0;
}
菱形杨三角
#include <stdio.h>
#include <stdlib.h>
#define N 10
int main()
{
int a[N][N],i,j;
a[0][0]=1;
for(i=0;i<N;i++)
for(j=0;j<=i;j++)
{
if(j==0||j==i)
a[i][j]=1;
else
a[i][j]=a[i-1][j]+a[i-1][j-1];
}
//上层
for(i=0;i<N;i++)
{
for(j=0;j<=N-i;j++)
printf("%2c",' ');//两个空格
for(j=0;j<=i;j++)
printf("%3d ",a[i][j]);
printf("\n");
}
//下层
for(i=N-2;i>=0;i--)
{
for(j=0;j<=N-i;j++)
printf("%2c",' ');//两个空格
for(j=0;j<=i;j++)
printf("%3d ",a[i][j]);
printf("\n");
}
return 0;
}