打印杨辉三角
int main()
{
int arr[1000] = { 0 };//打印数字
char str[1000] = { 0 };//打印空格
int n = 0;
//n行
scanf("%d", &n);//输入打印多少行
int i = 0;
int j = 0;
for (i = 0; i < n; i++)//行
{
//打印空格
for (j = 0; j < n - 1 - i; j++)
{
printf(" ");
}
for (j = 0; j <= i; j++)//每行第几个元素
{
if (j == 0)
{
arr[j] = 1;
}
else if (j > 0 && j < i)
{
arr[j] = fac(i) / (fac(i - j) * fac(j));
}
else
{
arr[j] = 1;
}
printf("%d ", arr[j]);
}
printf("\n");
}
return 0;
}
//计算阶乘
int fac(int num)
{
int i = 1;
int sum = 1;
for (i = 1; i <= num; i++)
{
sum = sum * i;
}
return sum;
}
运行结果: