第十五天、杨辉三角

题目 输出杨辉三角 1、程序分析     利用杨辉三角形的特性,进行求解。 2、程序实现

/***************************************************
 * Topic    :   杨辉三角
 * File Name:   Triangle.c
 * Author   :   Jack Cui
 * Created  :   9 April 2016
 * **************************************************/
#include <stdio.h>
#include <stdlib.h>
/*声明杨辉三角打印函数*/
int Triangle(int iHeigh);

void main(void)
{
    int iHeigh,flag = 1;    //高度,循环标志位
    while(flag)
    {
        printf("请输入杨辉三角的层数:\n");
        scanf("%d",&iHeigh);
        flag = Triangle(iHeigh);
    }
}
/**********************************
*函数名称:Triangle
*参数说明:iHeigh    杨辉三角需要打印的高度
*说明:    杨辉三角打印
***********************************/
int Triangle(int iHeigh)
{
    int iNum,iLine,iColumn;                                                 //数值、行数为1代表第一行、列数为1代表第一列
    if(iHeigh <= 0)
    {
        printf("输入层数错误(正整数)--");                                    //打印错误信息
        return 1;                                                           //输入错误,重新输入
    }
    else
    {
        printf("1\n");                                                      //输出第一行1
        for(iLine = 2;iLine <= iHeigh;iNum = 1,iLine++)                     //行数i从第二行开始每次加一层直到第iNum层为止
        {
            printf("1 ");                                                   //输出每行的行首的1,结尾空格
            for(iColumn = 1; iColumn <= iLine - 2;iColumn++)                //列数j:从第三行的第二列开始,每次都跳过第一列
            {
                printf("%d ",(iNum = (iLine - iColumn) * iNum / iColumn));
            }
            printf("1\n");                                                  //输出每行的行尾的1,结尾换行
        }
    }
    return 0;
}

3、结果展示

下一篇
举报

扫码关注云+社区

领取腾讯云代金券