这大哥还留了一手,输出语句里的每两行多输入四个空格的输出语句分成了%3d+空格:“printf("%4d",Y(x,y));“,我研究半天才研究明白他这控制格式是怎么弄的,可真是的,真有才可!直接输出4个符号位得了!我又改了下,见笑了!
#include <stdio.h>
#include <stdlib.h>
int Y(int i, int n)//递归求第n行第i个元素的值
{
if(i == 1 || i == n)return 1;
else return Y(i,n-1)+Y(i-1,n-1);
}
void YangHui(int n)
{
int x,y;
for(y = 1; y <= n; y++)
{
for(x = y; x <= n; x++)
printf("
");
for(x = 1; x <= y; x++)
printf("%4d",Y(x,y));
printf("\n");
}
}
int main()
{
YangHui(9);
return 0;
}