众所周知,杨辉三角形用数组做会非常简单,但毕竟杨辉三角形的原理以及公式我们高中就学过了 ,代码如下:
#include <stdio.h>
#include <stdlib.h>
int factory(int n,int j)
{
if (n < j)
{
printf("input error!\n");
exit(1);
}
if(j == 0 || j == n)
{
return 1;
}
else
{
int a = n;
int i;
for(i = 1;i < j;i++)//n*n-1*n-2*...n-j+1
{
a = a * (n - 1);
n = n-1;
}
int b=1;
for(i = 1;i <= j;i++)//1*2*3...*j
{
b = b * i;
}
return a / b;
}
}
int main()
{
int a = 1;
int n;
printf("输入杨辉三角形行数:\n");
scanf("%d",&n);
system("clear");
int i,j;
for(i = 0;i<n;i++)
{
for(j = 0;j<=i;j++)
{
printf("%d\t",factory(i,j));
}
printf("\n");
}
return 0;
}