杨辉三角 请问哪里出错了
李前 资深达人 2017-03-07 21:14:29
2246 4 0

blob.png

#include<stdio.h>

main()

{

int a[10][10]={0},i,j;

for(i=0;i<10;i++)

a[i][0]=1;

for(i=1;i<10;i++)

  for(j=1;j<10;j++)

a[i][j]=a[i-1][j]+a[i-1][j-1];

for(i=0;i<10;i++)

{

for(j=0;j<i+1;j++)

printf("%5d",a[i][j]);

}

}


问题来自: 杨辉三角

共 4 个回答

    许多余 人气新星 2630天前

    加个换行


    最佳答案

    qqq 资深元老 助教 2630天前

    你的代码跟视频里只有两处差别。

    第一处区别:

    for(i=0;i<10;i++)

    {

    for(j=0;j<i+1;j++)//视频里写的是for(j=0;j<10;j++)

    printf("%5d",a[i][j]);

    }

    按照你的写法,输出的三角不显示右上角的0,所以这样改也是可以的。

    第二处区别:

    for(i=0;i<10;i++)

    {

    for(j=0;j<i+1;j++)

    printf("%5d",a[i][j]);

                        printf("\n");//你没有写这个换行符输出语句

    }

    因为少了一句换行符输出语句,导致你输出的元素不能像三角那样排列而是紧接着输出,所以看起来像是跟标准答案不符合,所以建议你加上这个输出语句再试试。



    李前 资深达人 2629天前

    回复 许多余:谢谢 已解决


您还没有登录,所以不能回复该问题
我要回复

  • 0

    点赞

  • 扫一扫分享朋友圈

    二维码

  • 分享

相关问题