描述
编写程序,输出n行杨辉三角形。
输入
一个正整数n,不超过32。
输出
输出n行杨辉三角形,每个数字输出宽度为10。
输入样例 1
5
输出样例 1
1 1 1 1 2 1 1 3 3 1 1 4 6 4 1
#include <stdio.h>
double f(double a)
{ double s=1,i;
if(a==0)
return 1;
else {
for(i=1;i<=a;i++)
{
s=s*i;
}
return s;
}
}
int main(int argc,char *argv[])
{
double n,i,sub1,sub2,sub3,c,j,x;
scanf("%lf",&n);
for(i=0;i<=(n-1);i++)
{ for(j=0;j<=i;j++)
{sub1=f(j);
sub2=f(i);
sub3=f(i-j);
c=sub2/(sub1*sub3);
if(j==0)
{for(x=1;x<=(n-1-i)*5;x++)
printf(" ");}
printf("%10.f",c);
}
if(i!=(n-1))
printf("\n");
}
}
注意:n!过大不能用int。