c语言:输入行数,打印杨辉三角|练习题

一、题目
输入行数,打印杨辉三角
如图:

c语言:输入行数,打印杨辉三角|练习题_第1张图片

 

二、解题思路

1、先完成后面的三角形
2、打印前面的空格
3、把空格和三角形合并打印
即所求图形

三、代码截图【带注释】

c语言:输入行数,打印杨辉三角|练习题_第2张图片

 

四、源代码【带注释】
#include

//思路:
//先完成后面的三角形,然后打印前面的空格
//把空格和三角形合并,即为要打印的图形
int main()
{
    int input=0;

    //注意:传递参数要这样写
    int yanghui[20][20];
    printf("请输入行数\n");
    scanf("%d",&input);
    yangHuiSanJiao(yanghui,input);
}

//注意:二维数组参数传递方式
yangHuiSanJiao(int yanghui[20][20],int input)
{
    //打印第一第二行
    for(int i=1; i<=input; i++)
    {
        yanghui[i][1]=1;
        yanghui[i][i]=1;
    }

    //计算第三行开始,计算除首末两行的数字
    for(int i=3; i<=input; i++)
    {
        for(int j=2; j<=i-1; j++)
        {
            yanghui[i][j]=
                yanghui[i-1][j-1]+yanghui[i-1][j];
        }
    }

    //打印杨辉三角图形
    for(int i=1; i<=input; i++)
    {
        printf("\n");

        //打印前面的空格
        for(int z=1; z<=input-i; z++)
        {
            printf(" ");
        }

        //打印空格后面的图案
        for(int j=1; j<=i; j++)
        {
            //注意:有两个空格
            printf("  %d",yanghui[i][j]);
        }
    }
}

你可能感兴趣的:(c语言|练习题,c语言,算法,数据结构,开发语言)