杨辉三角,是二项式系数在三角形中的一种几何排列。

如下图所示:

规律:

1.每行端点与结尾的数为1.

2.每个数等于它上方两数之和。

2.每行数字左右对称,由1开始逐渐变大。

3.第n行的数字有n项。

4.每个数字等于上一行的左右两个数字之和。可用此性质写出整个杨辉三角。即第i+1行的第j个数等于第i行的第j-1个数和第j个数之和,这也是组合数的性质之一。即C(i+1,j)=C(i,j-1)+C(i,j)。

5.第 i 行第 j 个数可表示为:

例:

可以表示为: 7 的阶乘除以(7-3)的阶乘,再除以3的阶乘 即: ( 7! / (7-3)! )/ 3!

以下是笔者所写的代码:(使用了上述规律5)

/* 在屏幕上打印杨辉三角。

by 向前

*/

#define _CRT_SECURE_NO_WARNINGS

#include

#include

//该函数功能是求传入参数的阶乘

int Factorial(int num){

if (num == 0){

return 1;

} else{

int tmp = num;

for (int i = 1; i < num; ++i){

tmp = tmp*i;

}

return tmp;

}

}

//杨辉三角第 i 行,第 j 个数的值为 C(j-1,i-1)

int Num(int i, int j){

int n = 0;

n = Factorial(i - 1) / Factorial(i - j)/Factorial(j-1);

return n;

}

int main(){

int h = 0;

printf("输入需要打印的行数\n");

scanf("%d", &h); // 可以打印任意行数的杨辉三角

if (h<1){

printf("非法输入!请重新输入\n");

} else{

int s = h - 1;

for (int i = 1; i <= h; ++i){

for (s = h - i; s > 0; --s){ // 该循环是按照规律将空格输出,使之输出为一个三角形

printf(" ");

}

for (int j = 1; j <= i; ++j){

printf(" %d ", Num(i, j));

}

printf("\n\n"); // 每行输出结束后换行

}

}

system("pause");

return 0;

}

编译环境: Visual Studio 2013

运行效果如下:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

时间: 2019-12-25

C语言程序 输出杨辉三角,C语言打印输出杨辉三角相关推荐

  1. C语言在main中输入2个整数ab,请教一个C语言问题。若输入3个整数3,2,1,则以下程序输出的结果是.,c 语言问题 输入三个整数 按从小到大输出...

    导航:网站首页 > 请教一个C语言问题.若输入3个整数3,2,1,则以下程序输出的结果是.,c 语言问题 输入三个整数 按从小到大输出 请教一个C语言问题.若输入3个整数3,2,1,则以下程序输 ...

  2. 统计字符 c语言程序,统计字符个数的C语言程序.doc

    统计字符个数的C语言程序.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3.该文 ...

  3. c语言程序第一章编程,c语言程序的设计第一章 C语言编程入门.ppt

    c语言程序的设计第一章 C语言编程入门 第1章 C语言编程入门 本章是本书的入门篇,专为初学者熟悉编程过程.掌握程序结构而准备的. 本章学习目标 ? 1)? 能够通过模仿与改变来构造带有测试函数的C语 ...

  4. 杨辉三角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 ...

  5. C语言程序——输出字符

    为学日益,为道日损 文章目录 前言 一.使用C语言一般格式显示字符 二.编写代码 2.运行结果 总结 前言 一个标准的C语言程序具有的一般格式: 预处理命令和全局性的声明 main() 主函数 { 局 ...

  6. C语言阅读程序输出星号井号,C语言字符

    在实际开发中,程序员很少用单个字符来表示数据,字符的意义主要作为数组的时候可以形成一个字符串.在本章节中,我们重点介绍字符与整数之间的关系和ASCII码的相关知识. 字符类型char,只能用单引号' ...

  7. 编写C语言程序 输出一个菱形

    用C语言程序实现打印出一个菱形,观察菱形,它的每一行前面会有空格,要打印菱形,首先要算出空格多少的规律,以及每行*的数目,把菱形分为上下两部分打印,上半部分规律:观察最长的一行,它的*数目是它行数的二 ...

  8. c语言程序与设计苏小红,c语言程序设计苏小红

    <实验教学示范中心建设教材·国家精品课程主讲教材:C语言程序设计(第2版)>是一本兼具趣味性和实用性的C语言程序设计教材.全书由13章组成,内容包括:为什么要学C语言,C数据类型,简单的算 ...

  9. 重庆理工大学c语言程序实验报告,重庆理工大学-C语言程序实验报告.doc

    重庆理工大学-C语言程序实验报告 程序设计基础C实验报告 PAGE 47 <程序设计基础C> 实 验 报 告 教学班级: 学号: 姓名: 课程教师: 实验辅导教师: 重庆理工大学计算机学院 ...

  10. c语言程序中cost的作用,C语言考试题基础版(21页)-原创力文档

    if (x>y)z=x; s=z*z;elsez=y;s=1/(z*z); if (x>y) z=x; s=z*z; else z=y;s=1/(z*z); 7. B. C. PAd, P ...

最新文章

  1. JAVA总结之数组篇
  2. 重磅!李宏毅教授机器学习训练营
  3. 20190808面试记录
  4. java多个类调用_JAVA问题总结之15-多个类之间的调用
  5. 国内外ACM/ICPC的OJ,BBS列表
  6. 计算机辅助设计与制造专业课程,《计算机辅助设计与制造》课程实验指导书
  7. Oracle遇到的一些坑
  8. HDU-6341 Problem J. Let Sudoku Rotate(dfs 剪枝)
  9. Facebook人工智能实验室的前世今生
  10. Delphi常用字符串函数
  11. Python 的解释器
  12. OLDX-FC开源飞控
  13. 车站计算机系统的简称,AFC计算机系统.ppt
  14. 用计算机探究规律的教学反思,《找规律》教学反思(精选11篇)
  15. VMware Workstation 17 Pro密钥
  16. 理解Kademlia协议原理
  17. LZX 定义 - 转帖
  18. 关于android的广告词,关于android:随心译无广告的专属实时翻译神器
  19. 嵌入式系统硬件处理器架构的发展趋势及比较分析
  20. 180122 逆向-Frida在Windows下的使用

热门文章

  1. 酒店客房管理系统总结
  2. 短信通道防盗刷,短信发送策略
  3. Revit API之获取复合结构和材质
  4. TF卡,Micro SD卡,Micro SDHC卡
  5. Python爬虫之堆糖网图片(二)
  6. php中根据数字月份返回月份的英文缩写
  7. CST常用应用的求解器
  8. 计算机上自带的打字游戏,Steam这款打字游戏,让多少人想起自己曾经学校上电脑课的日子?...
  9. php 修改pdf文件内容,pdf中怎么擦掉某些内容
  10. ERP实用技巧:物料清单编制------(转)