今天做题遇到了个杨辉三角形,奈何数学基础不好,在百度补习了一下,可是最后发现为什么输出之后漆黑一片没有反应啊。运行结果在最后
#include
int fac(int num);//阶乘函数-n!
int main()
{
int n,i,j,k,l;
int a,b,c,d;
scanf("%d",n);
for(i=0;i<=n;i++)//控制行
{
for(k=0;k<2*n-2*i;k++)//输出前置空格
printf(" ");
for(j=0;j<=n;j++)//输出数字
{
a=fac(n);b=fac(j);
d=n-j; c=fac(d);
l=a/b*c;
printf(" %d",l);
}
printf("\n");
}
return 0;
}
int fac(int num)//阶乘函数-n!
{
int mid1,mid2,mid3;
mid2=mid3=num;
for(mid1=0;mid1-1;mid1++)//控制计算次数
{
mid2=mid2*(mid3-1);
mid3--;
}
return mid2;
}
#include <stdio.h>
//杨辉三角
int main()
{
int n;
printf("请输入要打印的行数:");
scanf("%d",&n);
int a[100][100];
for(int i=0;i<n;i++)
{
a[i][0]=1;
a[i][i]=1; //先将杨辉三角每行的第一个和最后一个赋值为1
}
for(int i=2;i<n;i++) //已知每个数等于它上方两数的之和
{
for(int j=1;j<i;j++)
{
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
}
for(int i=0;i<n;i++) //打印输出
{
for(int j=0;j<=i;j++)
{
printf("%d ",a[i][j]);
}
printf("\n");
}
}