第十五天、杨辉三角

题目 输出杨辉三角 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、结果展示

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏包子铺里聊IT

[Google最新面试题] continental divider

给一个矩阵,其中0代表海洋,其他数字代表高度, 秉着水往低处流的原则,求出能够 流向任意海洋的点。 比如说 0 0 0 1 2 3 0 0 1 2 2 4 3 ...

2684
来自专栏深度学习与计算机视觉

聊一聊OpenCV的saturate_cast防溢出

saturate_cast函数在OpenCV中的作用是防数据溢出,我们在直接操作像素点的时候,如果数值结果是赋值或者超过了255的话,在图片中是没办法显示的,这...

3158
来自专栏菩提树下的杨过

“AS3.0高级动画编程”学习:第四章 寻路(AStar/A星/A*)算法 (中)

上一部分提到了节点(Node),代价(Cost),估价公式等基本概念,有了这些知识铺垫 就可以正式开启寻路之旅了! ? 如上图,这是一个5行8列的网格,黄色节点...

2346
来自专栏mathor

LeetCode54. 螺旋矩阵&LeetCode59.螺旋矩阵 II&LeetCode48. 旋转图像

 要是去找每次移动下标之间的关系就错了,很难找到,应该从宏观角度去看,首先打印的是最外层一圈,然后打印倒数第二层的一圈,...依次下去,所以应该这么做,找到...

802
来自专栏程序员互动联盟

【编程之美】最短路径

最短路径 任意给定两个数字A和B,通过将A和6个数(7,-7,5,-5,12,-12)做加减运算,运算次数不限,每个数可以被使用多次,求从A到B最少要经过多少次...

3716
来自专栏GIS讲堂

Geohash之范围搜索

很多时候,我们都会遇到这样的需求:查找某个点周边多少距离的点。从本质来说,是一个缓冲区分析+空间查找,本文结合Geohash来实现类似的功能。

1504
来自专栏数据结构与算法

洛谷P3807 【模板】卢卡斯定理exgcd

题目背景 这是一道模板题。 题目描述 给定n 求  保证P为prime C表示组合数。 一个测试点内包含多组数据。 输入输出格式 输入格式: 第一行...

3236
来自专栏python百例

71-函数练习:数学游戏

随机生成100以内的两个数字,实现随机的加减法。如果是减法,结果不能是负数。 算错三次,给出正确答案。

841
来自专栏数据结构与算法

1267 老鼠的旅行 2012年CCC加拿大高中生信息学奥赛

题目描述 Description You are a mouse that lives in a cage in a large laboratory. 你是一...

3607
来自专栏程序生活

Python json 模块dumps、dump、loads、load的使用

本文主要讲下json.dumps和json.dump、json.loads和json.load的区别,因为经常需要加载json文件,读取数据,傻傻分不清...

571

扫码关注云+社区