C语言,打印杨辉三角的代码

来源:百度知道 编辑:UC知道 时间:2024/06/30 15:42:42
#include<stdio.h>

int tri(int x,int y)
{
int m=1,i=x,j=y;
while(j) m=(i-j+1)/j*tri(i,j--);
return m;
}

void main(void)
{
int i,j,t;

for(i=0,j=0,t=39;i<=9;i++,t=39-2i)
{

printf("%*c",t,'');
for(j=0;j<=i;j++)
{
if(j<=i/2){if(tri(i,j)<10) printf("%d%3c",tri(i,j++),'');
else {if(tri(i,j)<100) printf("%d%2c",tri(i,j++),'');
else printf("%d%c",tri(i,j++),'');
}
else{if(tri(i,j)<10) printf("%d%3c",tri(i,j--),'');
else{if(tri(i,j)<100) printf("%d%2c",tri(i,j--),'');
else printf("%d%c",tri(i,j--),'');
}

在VC++6.0运行好多错误啊

include<stdio.h>

int tri(int x,int y)
{
int m=1,i=x,j=y;
while(j)
m=(i-j+1)/j*tri(i,j--);
return m;
}

void main(void)
{
int i,j,t;

for(i=0,j=0,t=39;i<=9;i++,t=39-2i)
{

printf("%*c",t,'');
for(j=0;j<=i;j++)
{
if(j<=i/2)
{
if(tri(i,j)<10)
printf("%d%3c",tri(i,j++),'');
else if(tri(i,j)<100)
printf("%d%2c",tri(i,j++),'');
else
printf("%d%c",tri(i,j++),'');
}
else
{
if(tri(i,j)<10)
printf("%d%3c",tri(i,j--),'');
else if(tri(i,j)<100)
printf("%d%2c",tri(i,j--),'');
else
printf("%d%c",tri(i,j--),'');
}
}
}