杨辉三角(C语言实现)
大家好,我是十七,今天分享杨辉三角的简单实现。
上图是杨辉三角的排列
如果我们只关注如何编程,我认为主要有三个规律:
1. 每一行的第一个元素为1
2. 每一行的最后一个元素为1
3. 前一行某两个数相加等于后一行的某一个数值
我们可以将三角形先如上排序,然后创建一个二维数组arr[ i ][ j ]来实现
基于以下的三个规律:
1. 任一行的第一列元素为1
用C语言实现:把1 赋值给每一行的第一列 arr[ i ][ 0 ] = 1
2. 任一行的最后一个元素为1
用C语言实现:把1 赋值给每一行的最后一列 arr[ i ][ j ] = 1
3. 上面两个数相加等于下面一行的数的值
分析某两行:
第4行第2列 = 第3行第1列 + 第3行第2列
用C语言实现:
arr[ 3 ][ 1 ] = arr[ 2 ][ 0 ] + arr[ 2 ][ 1 ]
arr[ i ][ j ] = arr[ i - 1 ][ j - 1 ] + arr[ i - 1 ][ j ]
所有的两两相加之和都遵循上述公式。
然后将其放进嵌套循环,让行和列跑起来。
输出结果:
最后,由于我们要打印的是三角形形状,所以要先打印空格在每行元素前面。
比如说,我们总共打印7行,
那么第1行有6个空格,第2行有5个空格......第7行有0个空格
(我们可以通过 n 和 i 来控制变量区间)
最终结果:
Over. 谢谢观看哟~
杨辉三角(C语言实现)相关推荐
- 杨辉三角的c语言代码,杨辉三角C语言代码
杨辉三角C语言代码 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 的三角形,其实质是二项式(a+b)的n次方展开后各项的系数排成的三角形,它的特点是左右两边全是1,从第二行起,中间的每一 ...
- 数据结构c语言程序杨辉三角,杨辉三角 --- C语言程序
杨辉三角 --- C语言程序 1.前言 最近在逛博客的时候发现一个特别有意思的三角形 然后便编写了下来. 它呢就是杨辉三角,也作为我的首篇博客吧 2.旅程开始 此处为网上所找到的公式以及各种概 ...
- 杨辉三角 C语言实现【一维数组】
杨辉三角 C语言[一维数组] 说明 写<C语言程序设计>作业的时候想到的一个算法,只用一维数组就可以实现杨辉三角的输出(不过肯定没用存储的功能了),自己感觉挺妙的,在答案和其他地方也没看到 ...
- 等腰杨辉三角C语言实现
等腰杨辉三角C语言实现 #include<stdio.h> int main() {int num[10][10];int i,j;for(i=0;i<10;i++){num[i][ ...
- 蓝桥杯 基础练习(六)杨辉三角 C语言
杨辉三角 C语言 问题描述 杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数. 它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加. 下面给出了杨辉三角形的前4行 ...
- C语言课程设计报告输出杨辉三角,C语言学习:在屏幕上输出杨辉三角
杨辉三角的规律是:它的两条斜边都是由数字1组成的,而其余的数则是等于它肩上的两个数之和. 代码如下: #include #include int main() { int i,j,k,arr[10][ ...
- 杨辉三角 c语言 二维数组
杨辉三角的规律 c语言实现 思路:从第三行起,就要开始计算第n行的第二列到第n-1列的元素--其中每一个元素的值都是:前一行前一列元素+前一行该列元素 int main() {int arr[10][ ...
- 杨辉三角c语言程序for循环,如何用C语言循环输出杨辉三角?
#include #define N 14 void main() { int i, j, k, n=0, a[N][N]; /*定义二维数组a[14][14]*/ while(n<=0||n ...
- c语言二维函数杨辉三角,C语言编写杨辉三角(二维数组方法)
C语言实现杨辉三角(二维数组) 杨辉三角是什么 杨辉三角,是二项式系数在三角形中的一种几何排列,中国南宋数学家杨辉1261年所著的<详解九章算法>一书中出现.在欧洲,帕斯卡(1623--- ...
- 杨辉三角c语言编程报告,C语言打印杨辉三角示例汇总
杨辉三角是我们从初中就知道的,现在,让我们用C语言将它在计算机上显示出来. 在初中,我们就知道,杨辉三角的两个腰边的数都是1,其它位置的数都是上顶上两个数之和.这就是我们用C语言写杨辉三角的关键之一. ...
最新文章
- js字符串转化为方法调用
- hibernate的HQL查询语言总结
- php data类型转换,【原】超简单类型转换(DataTable
- 为什么 SAP Spartacus 不手动导入 UserAccountModule,就看不到 LoginForm?
- 成为顶尖架构师必须要面对的面试题
- 【嵌入式实验】《嵌入式数据库 sqlite 移植及使用》
- 在Vue项目中添加vue router
- php不使用第三个参数交换两个变量的值,交换两个变量的值,不使用第三个变量。即a=3,b=5,交换之后a=5,b=3; 有两种解法, 一种用算术算法,...
- 浙江大学计算机程序设计能力考试(PAT)简介
- SpringBoot上传文件类型检测
- DoNotRetryIOException: Compression algorithm 'lzo' previously failed test
- 2020安徽省程序设计省赛知识点
- 电磁场与电磁波-2-泊松方程、拉普拉斯方程的推导
- WorkBench简介
- 基于C语言的8深度灰度BMP文件读写
- 城市之眼视觉计算技术
- PS快速将白底图片变为透明图片的解决办法
- android11.0 Launcher3 高端定制之抽屉列表固定APP显示位置
- MCU-CPU-GPU-APU系列
- 软件测试基础面试常问问题(三)
热门文章
- 那些年被欺骗的感情---分布式实现限流操作(上)
- 音频和视频的基础知识
- yota3墨水屏设置_YOTA3墨水屏“直通”技术取代旧“投射”功能,体验全面升级...
- 程序猿如何保护眼睛方法.
- 机器学习性能评估——PR曲线与ROC曲线
- 在快乐男声歌唱比赛中,有6位评委给选手打分,分数在0-10分,选手王杰表现的不过,请输入6位评委的打分,输出6位评委的分数
- 英语计算机单词mp3,[听单词] 计算机专业英语词汇音频51,计算机英语单词MP3
- 提升STEAM教师能力素养提升路径
- 相亲软件的心灵测试原理,相亲成功率心理测试
- 支付宝是用计算机编程做的吗,从支付宝晒账单活动我们能学习哪些营销方法