杨辉三角 C语言

问题描述

杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。

它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。

下面给出了杨辉三角形的前4行:

1

1 1

1 2 1

1 3 3 1

给出n,输出它的前n行。

输入格式

输入包含一个数n。

输出格式
输出杨辉三角形的前n行。每一行从这一行的第一个数开始依次输出,中间使用一个空格分隔。请不要在前面输出多余的空格。

样例输入
4
样例输出
1
1 1
1 2 1
1 3 3 1

数据规模与约定
1 <= n <= 34。

杨辉三角,这是编程上很经典的一个题目,相信学习编程的小伙伴都接触并且写过吧,然而笔者今天还是在这道题上吃了不小的憋…

首先看到这道题第一个应该立刻想到的是二维数组,用二维数组来存储数据。

然后再来看规律,杨辉三角有两个规律(其中融入了笔者自己的想法,可能和别人不太一样):

1、杨辉三角每一行都以“1”作为开头及结束
2、 就是大家都知道的,也就是题干中的,三角形中的每个数字等于它两肩上的数字相加。

知道这两点就很容易写了,代码如下:

#include <stdio.h>int main() {int i,j,n;scanf("%d",&n);int a[n][n];for(i=0;i<n;i++){for(j=0;j<n;j++)a[i][j]=1;}  //给数组赋初值for(i=0;i<n;i++){for(j=0;j<i+1;j++)  //注意:这里是i+1而不是i,i值j可以取{if(i==j||j==0)a[i][j]=1;elsea[i][j]=a[i-1][j-1]+a[i-1][j]; }}for(i=0;i<n;i++){for(j=0;j<i+1;j++){if(i==j)printf("%d\n",a[i][j]);elseprintf("%d ",a[i][j]);}}return 0;
}

其实挺简单的,需要注意的是:
1、创建数组后,最好给数组赋初值,笔者前几篇有用到数组的代码都没有做到这一点,批评! 在定义数组的时候,如果没有赋值,编译器会自动赋值给数组,可能会出现数据丢失和错乱的情况。所以,赋初值是个好习惯,需要养成!

2、 就是笔者我自己的问题了,审题!审题!审题!题目中强调了输出时用一个空格符分开而笔者没注意,为了美观,使用了%3d等作为输出,导致只拿了30分,还傻傻不知道原因,批评!

蓝桥杯 基础练习(六)杨辉三角 C语言相关推荐

  1. 蓝桥杯基础练习之杨辉三角

    问题描述 杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数. 它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加. 下面给出了杨辉三角形的前4行: 1 1 1 1 ...

  2. 杨辉三角的c语言代码,杨辉三角C语言代码

    杨辉三角C语言代码 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 的三角形,其实质是二项式(a+b)的n次方展开后各项的系数排成的三角形,它的特点是左右两边全是1,从第二行起,中间的每一 ...

  3. 数据结构c语言程序杨辉三角,杨辉三角 --- C语言程序

    杨辉三角 ---  C语言程序 1.前言 最近在逛博客的时候发现一个特别有意思的三角形  然后便编写了下来.   它呢就是杨辉三角,也作为我的首篇博客吧 2.旅程开始 此处为网上所找到的公式以及各种概 ...

  4. 杨辉三角 C语言实现【一维数组】

    杨辉三角 C语言[一维数组] 说明 写<C语言程序设计>作业的时候想到的一个算法,只用一维数组就可以实现杨辉三角的输出(不过肯定没用存储的功能了),自己感觉挺妙的,在答案和其他地方也没看到 ...

  5. 等腰杨辉三角C语言实现

    等腰杨辉三角C语言实现 #include<stdio.h> int main() {int num[10][10];int i,j;for(i=0;i<10;i++){num[i][ ...

  6. java基础练习题:杨辉三角

    杨辉三角 /* 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 */ public class YangHuiSanJiao{ public static void main(String ...

  7. C语言课程设计报告输出杨辉三角,C语言学习:在屏幕上输出杨辉三角

    杨辉三角的规律是:它的两条斜边都是由数字1组成的,而其余的数则是等于它肩上的两个数之和. 代码如下: #include #include int main() { int i,j,k,arr[10][ ...

  8. 杨辉三角 c语言 二维数组

    杨辉三角的规律 c语言实现 思路:从第三行起,就要开始计算第n行的第二列到第n-1列的元素--其中每一个元素的值都是:前一行前一列元素+前一行该列元素 int main() {int arr[10][ ...

  9. 杨辉三角c语言程序jian,杨辉三角C语言程序队列实现(带源码+解析)

    杨辉三角,即如下 通过学习数据结构,解决杨辉三角,可以使用循环来实现:在循环队列中依次存放第 i-1 行上的元素,然后逐个出队并打印,同时生成第 i 行上的元素并入队. 如果要求计算并输出杨辉三角前 ...

最新文章

  1. 解决RecyclerView在ScrollView中会置顶它上面的控件
  2. 高级运维工程师的打怪升级之路
  3. 结构体和数组之间的映射关系
  4. Typora入门(2)
  5. (2)java基础继承
  6. Apache ZooKeeper - 集群中 Leader 的作用_事务的请求处理与调度分析
  7. 区块链BaaS云服务(11)招商银行ABS区块链平台
  8. [silverlight]WCF和Web Service(ASMX)的soap header传输方法
  9. 【招聘(深圳)】TCL通讯科技控股有限公司
  10. php title限制字数,dedecms:title解决字数限制的两种方法
  11. java sampling_Java机器学习库ML之三Sampling(采样)
  12. 简易贪吃蛇c语言贴吧,熬书几个月,终于编出简易的贪吃蛇了,VS2013
  13. 从0到1:Python爬虫知识点梳理
  14. 年薪40W,如何高效准备大厂AI算法岗面试?
  15. 解决XCode 11 build error 编译错误 image not found
  16. Java面试宝典(超级详细)
  17. 计算机学院女神,女神季·计算机科学与技术学院——第六期
  18. 电脑c盘爆满如何清理
  19. 让你详细的了解数据库防火墙的功能
  20. 小猿圈 python学习-细讲数据类型-字典

热门文章

  1. 2018第九届蓝桥杯大赛总决赛(软件类)试题 B组
  2. 证券的交易价格相对于上一个交易日收盘价格的涨跌幅度不得超过10%
  3. python安装步骤-小白入门:Python安装的10个步骤,极其细致!!
  4. 优维科技7周年庆|未来可“7”,从心出发
  5. 对接企业微信应用jsSDK本地调试
  6. C++实例 桌面滚动程序
  7. Clean Code 代码整洁之道笔记(1-8 章)
  8. 通过js实现拖拽排序
  9. moe安装指南_【教程】LEADTOOLS v19试用版安装指南图文详解
  10. 离散实验4 编程计算笛卡尔积以及关系的复合(矩阵运算 不限制矩阵的阶数 考虑空集 原创代码 序偶集合任意输入 )