永发信息网

请教C语言(杨辉三角形)

答案:1  悬赏:10  手机版
解决时间 2021-08-11 16:03

请教C语言

题目:输出杨辉三角形(要求输出10行)

     1

    1  1

   1  2  1

  1  3  3  1

1  4  6  4  1

1  5 10  10  5  1 

1 6 15 20 15  6  1

…… …… ……

(提示,使用二维数组)

 

#include<stdio.h>
void main()
{
int a[11][11],i,j,n;

for(i=0;i<11;i++)
{
a[i][0]=1;
a[i][i]=1;
}
for (i=2;i<11;++i)
{
for(j=1;j<i;++j)
{
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
}
for (i=0;i<11;++i)
{
for (j=0;j<10-i;++j)
{
printf(" ");
}

for(j=0;j<=i;++j)
{
printf("%3d ",a[i][j]);//这个地方为什么用数字3,这里的3是什么意思,怎么来确定其大小,这里的3是限制a[i][j]的位数吗?
}
printf("\n");
}
}

哪位大侠帮我科普下,这个问题我想了好久都没想明白,谢谢了!

最佳答案
  • 五星知识达人网友:舍身薄凉客
  • 2021-08-10 17:53

%nd  这是数据右对齐, 如果你数据的实际长度<n ,那么左边就填空格,如果>n那么以他的实际长度输出


%-nd  这是数据左对齐, 如果你数据的实际长度<n ,那么右边就填空格,如果>n那么以他的实际长度输出


所以说结果放3,和4没什么区别,只是数据间距大小的问题

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯