杨辉三角是我们从初中就知道的,现在,让我们用C语言将它在计算机上显示出来。

在初中,我们就知道,杨辉三角的两个腰边的数都是1,其它位置的数都是上顶上两个数之和。这就是我们用C语言写杨辉三角的关键之一。在高中的时候我们又知道,杨辉三角的任意一行都是的二项式系数,n为行数减1。也就是说任何一个数等于这个是高中的组合数。n代表行数减1,不代表列数减1。如:第五行的第三个数就为=6。

现在我们按第一种思路来写:先定义一个二维数组:a[N][N],略大于要打印的行数。再令两边的数为1,即当每行的第一个数和最后一个数为1。a[i][0]=a[i][i-1]=1,n为行数。除两边的数外,任何一个数为上两顶数之和,即a[i][j]=a[i-1][j-1]+a[i-1][j]。最后输出杨辉三角。代码如下:

#include

#define N 14

void main()

{

int i,j,k,n=0,a[N][N]; /*定义二维数组a[14][14]*/

while(n<=0||n>=13){ /*控制打印的行数不要太大,过大会造成显示不规范*/

printf("请输入要打印的行数:");

scanf("%d",&n);

}

printf("%d行杨辉三角如下:\n",n);

for(i=1;i<=n;i++)

a[i][1] = a[i][i] = 1; /*两边的数令它为1,因为现在循环从1开始,就认为a[i][1]为第一个数*/

for(i=3;i<=n;i++)

for(j=2;j<=i-1;j++)

a[i][j]=a[i-1][j-1]+a[i-1][j]; /*除两边的数外都等于上两顶数之和*/

for(i=1;i<=n;i++){

for(k=1;k<=n-i;k++)

printf(" "); /*这一行主要是在输出数之前打上空格占位,让输出的数更美观*/

for(j=1;j<=i;j++) /*j<=i的原因是不输出其它的数,只输出我们想要的数*/

printf("%6d",a[i][j]);

printf("\n"); /*当一行输出完以后换行继续下一行的输出*/

}

printf("\n");

}

运行结果:

请输入要打印的行数:10

10行杨辉三角如下:

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

上面的这一种方法我们用到了二维数组,下面的这一方法我们将用到自定义函数。

在高中我们知道,杨辉三角中的任何一个数都等于一个组合数,现在我们用这一公式来做。首先,此方法代码如下:

#include

/*

* 定义阶乘,在这里可能会想。为什么要用float,当我试第一次的时候,

* 如果用int的话,那么在打印行数多了以后就会出错。

* 这是因为阶乘的数比较大,如果用int就不够用了。下同

*/

float J(int i){

int j;

float k=1;

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

k=k*j;

return(k);

}

float C(int i,int j){ /*定义组合数*/

float k;

k=J(j)/(J(i)*J(j-i));

return(k);

}

void main(){

int i=0,n; /*打印杨辉三角*/

while(i<=0||i>16){

printf("请输入要打印的行数:");

scanf("%d",&i);

}

printf("%d行杨辉三角如下:\n",i);

for(j=0;j

for(k=1;k<=(i-j);k++)

printf(" ");

for(n=0;n<=j;n++)

printf("%4.0f",C(n,j));

printf("\n");

}

printf("\n\n");

}

运行结果:

请输入要打印的行数:10

10行杨辉三角如下:

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语言打印杨辉三角示例汇总全部内容,希望文章能够帮你解决C语言打印杨辉三角示例汇总所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

小编个人微信号 jb51ccc

喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!

杨辉三角c语言编程报告,C语言打印杨辉三角示例汇总相关推荐

  1. c语言中求匀加速直线速度,速求C语言编程题 c语言编程速度求

    导航:网站首页 > 速求C语言编程题 c语言编程速度求 速求C语言编程题 c语言编程速度求 相关问题: 匿名网友: #include //计算行元素和 void CountRow(int a[] ...

  2. C语言编程>第一周 ⑥ 打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。

    例题:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个"水仙花数",因为153等于 ...

  3. c语言编程心得,C语言编程心得

    记录这些是为了日后自己想查阅以前经验的方便,同时若能给其他网友带来一些帮助,就更好了~ C语言,自己经常遇到的问题: 1.段错误 段错误一般是由于访问了不存在的地址造成的,具体的原因有文件路径不存在, ...

  4. [C语言] [典例详解] 打印杨辉三角(找规律简单实现)

    题目>>> 用C语言打印杨辉三角.杨辉三角参考图如下: 分析>>> 于是不清楚杨辉三角的同学们可以上网查查,可以立刻知道它的相关推理归纳和公式总结.它的简介如下: ...

  5. c语言实验设计报告,c语言实验设计报告计科学号.doc

    c语言实验设计报告计科学号.doc C语言程序设计课程实验报告系 院 信息工程学院 班 级 计科1101 学 号 111404107 姓 名 杜舒静 完成日期 2012年2-6月 指导教师 徐永安 二 ...

  6. c语言实验设计报告,C语言实验设计报告.doc

    C语言实验设计报告 <C程序设计>实训及课程设计项目报告 教学信息管理系统 班 级:软件4班 制 作 者:刘宏利指 导 教 师杨文姬开 发 时 间2010年1月10日 一.系统简介 本系统 ...

  7. 聊城大学c语言实验报告,c语言程序设计(包云)c第1章概述.ppt

    c语言程序设计(包云)c第1章概述.ppt C语言程序设计,讲授包云 单位聊城大学计算机学院,第1章 C语言概述,3,主要内容,1.1 什么是计算机程序 1.2 什么是计算机语言 1.3 C语言的发展 ...

  8. 管理c语言程序设计报告,c语言程序设计报告图书管理系统

    <c语言程序设计报告图书管理系统>由会员分享,可在线阅读,更多相关<c语言程序设计报告图书管理系统(11页珍藏版)>请在人人文库网上搜索. 1.中国地质大学本科生课程论文封面课 ...

  9. c语言入门报告,c语言学习心得报告

    c语言学习心得报告 C 语言学习心得报告 看了一段时间的<C和指针> ,这样看的效果不是很好,看着书本当时是懂 了,有点恍然大悟的感觉,但是发现并不能真正的把理解的内容加入到自己程 序当中 ...

最新文章

  1. matlab rank函数报错,Matlab signrank函数(Wilcoxon signed rank test)中的矛盾结果[重复]
  2. 悠悠二十载,Nginx创始人Igor宣布离职
  3. 【opus源码分析】【互相关函数源码分析】xcorr_kernal_c
  4. redis做分布式锁可能不那么简单
  5. 品牌管理案例——添加新品牌 删除品牌 根据条件筛选品牌
  6. C++文件流:myfstream,fstream,文件读写,随机文件读写【C++文件流】(59)
  7. git rebase --skip_可冒充git大神的git tips
  8. 阿里开发规范_阿里开发强制要求的11条SQL编写规范
  9. Oracs Beta1 非 VPC版出来了
  10. python min函数时间复杂度是指_python中的内置函数max()和min()及mas()函数的高级用法...
  11. Atitit 算法之道 之压缩算法 attilax总结 1. 压缩算法与压缩格式区别 1 2. 压缩算法于格式 1 2.1. H264 mpg jpg MP3 2 2.2. Zip rar 。L
  12. C3P0连接池的配置和使用
  13. DIY一个正弦表计算器,用于单片机查表生成正弦波
  14. matlab中grid相关知识
  15. 基金定投应该什么时候终止?
  16. 百度图片批量下载助手
  17. 头豹研究院发布《2022年中国数据库产品策略解析报告》
  18. 数据分析实践——面试官:如果DAU下降如何归因?(以抖音为例)
  19. Java 基础知识面试题(2021最新版)
  20. 小家电品牌私域增长解决方案来了

热门文章

  1. 树莓派之Kali linux 系统安装及基础配置
  2. tcp_keepalive的设置
  3. php%3ca%3e传值,开服openAPI文档
  4. 基于JAVA校园生活信息服务平台计算机毕业设计源码+系统+数据库+lw文档+部署
  5. java parselong_java中的parseLong()
  6. 从头开始学MySQL--------内连接、左连接、右连接(4)
  7. ShaderWeaver卡片制作-第三节
  8. 开启Hyper-v,使用蓝叠模拟器进行抓包的曲折经历
  9. UI设计新手怎么入门?如何制作特色作品集
  10. Pixhawk无人机扩展教程(4)---使用Dronekit编写一个控制程序