C语言经典例61-杨辉三角

[C语言] [典例详解] 打印杨辉三角(找规律简单实现) 适合初学者,就直接利用每行的数据规律来写,只用循环和打印,没有复杂函数。真的详解,2037字适合初学者。^ ^ 阅读详情

1 题目

打印出杨辉三角形(要求打印出10行)

2 分析

杨辉三角结构如下所示:

1
1    1
1    2    1
1    3    3    1
1    4    6    4    1

2.1 方法1-二项式定理

第一眼看到杨辉三角很容易可以想到高中的数学知识–二项式定理 ( a + b ) n (a+b)^n (a+b)n,当 n n n从 0 0 0开始,它的展开式每项的系数恰好对应杨辉三角的每一行。
在这里插入图片描述
那么,算出每一项的系数可以通过公式,递归计算阶层,见实现1

2.2 方法2-按规律

根据杨辉三角的特点:

  • 每行端点与结尾的数为1
  • 每个数等于它上方两数之和

见实现2

3 实现

3.1 实现1-二项式定理

#include<stdio.h>
#define N 10 // 打印的行数
int fact(int n) { 
    if (n == 1 || n == 0) {
        return 1;
	}
    return n * fact(n - 1);
}

int main() {
    for (int i = 0; i < N; i++) {
        for (int j = 0; j <= i ; j++) {
			//二项式定理展开求系数公式
            int k = fact(i) / (fact(i-j) * fact(j));
            printf("%d ", k);
        }
        printf("\n");
    }
    return 0;
}

3.2 实现2-按规律

#include <stdio.h>
int main() {
    int i, j, a[10];
    a[0] = 1; 
    printf("\n%4d", a[0]);
    for (i = 1; i < 10; i++) {
        a[i] = 1;
        for (j = i-1; j>0; j--) {
            a[j] = a[j-1]+a[j];
        }
        printf("\n");
        for (j = 0; j<=i; j++) {
            printf("%4d", a[j]);
        }
    }
}

4 运行结果

   1
   1   1
   1   2   1
   1   3   3   1
   1   4   6   4   1
   1   5  10  10   5   1
   1   6  15  20  15   6   1
   1   7  21  35  35  21   7   1
   1   8  28  56  70  56  28   8   1
   1   9  36  84 126 126  84  36   9   1
经典c程序100例==61--100 经典c程序100例==61--70【程序61】 题目:打印出杨辉三角形(要求打印出10行如下图)    1.程序分析: 1 1  1 1  2  1 1  3  3  1 1  4  6  4  1 1  5  10 10 5  1  2.程序源代码: main() {int i,j; int a[10][10]; printf("\n"); for(i=0;i... 阅读详情

相关推荐

经典C语言程序100例之六一

【程序61】 题目:打印出杨辉三角形(要求打印出10行如下图)    1.程序分析:        1       1  1       1  2  1       1  3  3  1       1  4  6  4  1       1  5  10 10 5  1  2.程序源代码: main() {int i,j; int a[10][10]; printf("\n"); for(i=0;i<10;i++)  {a[i][0]=1;  a[i][i]=1;} for(i=2;i<10;

希望我的博客,能帮上你解决学习中工作中所遇到的问题 951

C语言_杨辉三角

c语言下的杨辉三角。

一怀明月的博客 561

杨辉三角C++编程

杨辉三角C++编程杨辉三角C++编程杨辉三角C++编程杨辉三角C++编程

杨辉三角的几种解决方法(c语言)

杨慧三角的几种解决方法(c语言) 以下为直角三角形图案样式 1.二维数组法(前提是您对二维数组或者是杨辉三角有一定的了解) #include <stdio.h> int main() { int a[100][100];//定义一个二维数组,用以储存数据 int i,j;//i定义为行,j定义为列 int n; scanf("%d",&n);//输入层数 for(i=0;i<n;i++) { for(j=0;j<=.

kittates的博客 1567

OpenWrt南京电信PPPoE IPv6配置:从零搭建稳定双栈网络

本文详细指导如何在南京电信PPPoE宽带环境下,为OpenWrt路由器配置稳定的IPv6双栈网络。核心在于正确设置WAN6接口为DHCPv6客户端,并请求/60前缀,同时配置LAN口分发地址并放行防火墙关键流量,确保内网设备获得原生IPv6连接。

water的专栏 1339

BSW:MemMap模块配置及使用

(内存映射(MemMap)模块用于通过内存映射文件将代码和数据映射到特定的内存部分。MemMap生成特定的头文件,其中包含为MemorySection元素和编译器特定指令定义的内存映射预处理器。上面是比较官方的回答,说人话就是把数据和代码放在ECU内指定的地址。初级应用:软件中的bss,data,rodata,code,text,段需要在memory layout中划分具体的物理地址,对于多核系统,要将执行的数据和代码放在目标核的RAM和ROM。

Forever_Oct的博客 3676

【C语言】-杨辉三角

杨辉三角

m0_63979882的博客 3万+

TruckSim与Simulink联合仿真中的车轮转角精确控制策略

本文深入探讨了TruckSim与Simulink联合仿真中实现车轮转角精确控制的关键策略。针对多轴车辆路径跟踪时转角指令失灵的常见问题,核心在于正确配置TruckSim转向轴的外部输入模式(Advanced Settings),并确保仿真接口的稳定搭建。文章详细解析了从单轴到多轴协同转向的配置方法,并提供了提升MPC路径跟踪精度的实战技巧与调试经验。

weixin_29035147的博客 367

【C语言】——杨辉三角

思路:创建一个二维数组进行部分赋值与输出即可 /* 时间:2020/08/15 目的:输出杨辉三角(10行) 功能:对于数组的一些操作 */ #include<stdio.h> #define N 10 int main() { int a[N][N];//定义一个二维数组 int i,j; for(i=0;i<N;i++){ a[i][i]=1; a[i][0]=1; for(j=1;j<i;j++){ a[i][j]=a[i-1][j

qq_45804075的博客 191

别再纠结高侧低侧了!用INA199/INA219这类集成电流检测芯片,5分钟搞定精准电流测量

本文详细解析了使用INA199/INA219等集成电流检测芯片实现精准电流测量的高效方案。通过对比传统分立元件方案,突出集成芯片在精度、温度稳定性和设计简化方面的优势,并提供硬件设计避坑指南和软件实现最佳实践,帮助开发者快速掌握电流检测技术。

weixin_42685438的博客 470

realsense D455深度相机+YOLO V5结合实现目标检测(一)

realsense D455深度相机+YOLO V5结合实现目标检测代码来源环境配置代码分析:1.如何用realsense在python下面调用的问题:2.对main_debug.py文件的分析:结束语 可以实现将D435,D455深度相机和yolo v5结合到一起,在识别物体的同时,还能测到物体相对与相机的距离。 说明一下为什么需要做这个事情?1.首先为什么需要用到realsense D455深度相机? 因为他是普通的相机还加了一个红外测距的东西,所以其他二维图像一样,能够得到三维世界在二维像素平面的投影

文一生 3万+

【C 语言经典100例】C 练习实例61 - 杨辉三角形

题目:打印出杨辉三角形(要求打印出10行)。

时义龙的博客 391

避坑指南:STM32CubeMX安装后,你的第一个工程为什么中文全是乱码?

本文详细解析了STM32CubeMX安装后中文乱码问题的根源及解决方案。从诊断乱码现象到分析编码冲突背景,提供了新项目UTF-8化、旧项目GBK兼容及版本降级等多种实用方案,帮助开发者彻底解决这一常见问题。

weixin_30699955的博客 474

C语言经典100例(61)打印杨辉三角

【代码】C语言经典100例(61)打印杨辉三角。

jlfcc的博客 96

阻抗匹配详解

在深入理解阻抗匹配概念之前,我们可以先来一起看一个现象,首先使用一个信号发生器输出一个脉宽为 50ns 的单脉冲信号,同时将信号接入示波器,此时在示波器的波形视图上可以看到这个仅有一个脉冲的信号,如下图。如果我们将信号接入示波器的同时将电缆延长数米到外部,并且延长后电缆末端保持悬空不接入任何东西,引出一段未接入任何东西的开路电缆,按照常识应该没有任何影响,然而实测是在原有脉冲旁边多出了一个类似脉冲,如下图。

zhbi98 的技术 Blogs 2560

华为OD技术面真题 - Python开发 - 2

汇总华为OD技术面八股Python八股,高频技术真题并提供详细解答。

qq_45776114的博客 910

经典C语言程序100例(61-70)

题目:有n个人围成一圈,顺序排号。题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。题目:利用ellipse and rectangle 画图。题目:输入3个数a,b,c,按大小顺序输出。1.程序分析:谭浩强的书中答案有问题。题目:学习putpixel画点。题目:一个最优美的图案。1.程序分析:利用指针方法。

qq_41237850的博客 506

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

c语言经典100题 61-70题

分析:杨辉三角形的首尾元素是1,其他元素是上一列两个元素的和。分析:记录下来最大值和最小值再的位置,然后交换就行。62-65题都是画图就不讲解了。

m0_62947929的博客 330

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

C语言经典100例(61-80)

此文为本人在练习菜鸟教程C语言经典100例时所写的部分代码记录(61~80) 网址为: http://www.runoob.com/cprogramming/c-100-examples.html #include&lt;stdio.h&gt; int main(void) { int i, j; int a[10][10]; for(i = 0; i &lt; ...

DeadBeef 1394

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

经典C语言编程100例——题目+答案代码(61-70)

【程序 61】 题目:打印出杨辉三角形(要求打印出 10 行如下图) 1.程序分析: 2.程序源代码: main() {int i,j; int a[10][10]; printf("\n"); for(i=0;i<10;i++) {a[i][0]=1; a[i][i]=1;} for(i=2;i<10;i++) for(j=1;j a[i][j]=a[i-1][j-1]+a[i-1...

bingocoder的博客 2467

【C语言基础案例】经典C语言程序设计100例附源码解析(61-70例)

C语言程序设计案例精选(61-70例) 本系列包含10个经典C语言编程案例,涵盖数组应用、图形绘制、排序算法等多个领域。每个案例都包含详细分析和完整源代码:。这些案例适合C语言学习者练习,涵盖从基础数据结构到图形编程的多个重要概念。每个示例都注重实用性和教学性,帮助读者深入理解C语言编程思想。

yuhuasheng1997的博客 726

C语言经典100题之61-80

题目61:打印出杨辉三角形(要求打印出10行如下图) 1 1  1       1  2  1       1  3  3  1       1  4  6  4  1       1  5  10 10 5  1 #include <stdio.h> int main() { int i,j,n=0,a[17][17]={0}; while(n<1 || n>16) { printf("请输入杨辉三角形的行数:"); sca

weixin_39388172的博客 516

菜鸟教程-C语言经典100示例(后50)

注:接上篇(菜鸟教程-C语言经典100示例(前50))51,学习使用按位与 &amp;。52,学习使用按位或 |。53,学习使用按位异或 ^。54,取一个整数a从右端开始的4~7位。55,学习使用按位取反~。56,画图,学用circle画圆形。57,画图,学用line画直线(在TC中实现)。58,学用rectangle画方形。(在TC中实现)。59,画图,综合例子。(在TC中实现)。60,画图,综...

zlhcsm的博客 7万+

C语言经典一百例

经典C语言程序设计100例 1.数字排列    2.奖金分配问题    3.已知条件求解整数    4.输入日期判断第几天 5.输入整数进行排序    6.用*号显示字母C的图案  7.显示特殊图案    8.打印九九口诀 9.输出国际象棋棋盘    10.打印楼梯并按条件打印笑脸   11.经典兔子问题   12.判断素数 13.水仙花数问题   14.正整数分解质因数   15.学习成

xngjing的博客 1万+

C语言学习-菜鸟教程C经典100例-练习61

本文演示了用C语言打印10行杨辉三角的实现方法。通过二维数组存储数值,首先初始化第一列和对角线元素为1,然后利用递推关系计算中间元素(每个数等于上方两数之和)。最终以整齐格式输出结果,每行数字居中对齐。代码简洁高效,完整展示了杨辉三角的数学特性和编程实现过程。

2301_77670476的博客 231

c语言经典程序表白6,经典C语言程序设计100例(6)

【程序61】题目:打印出杨辉三角形(要求打印出10行如下图)1.程序分析:11  11  2  11  3  3  11  4  6  4  11  5  10 10 5  12.程序源代码:main(){int i,j;int a[10][10];printf("\n");for(i=0;i<10;i++){a[i][0]=1;a[i][i]=1;}for(i=2;i<10;i++)...

weixin_35316354的博客 173
上一篇: 计算机网络第四章:网络层
下一篇: C语言经典例66-输入3个数a,b,c,按大小顺序输出
syzdev
博客等级 码龄9年 852粉丝 149原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值