用C语言编程打印出杨辉三角的前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:

(1)由题可设一个10*10的二维数组来存放数据,如int arr[10][10];

(2)观察杨辉三角形得出规律——第一列元素和对角线上的元素为1,即有arr[ i ][ 0 ] = 1和arr[ i ][ i ] = 1;

(3)其他元素为其前一行前一列的元素与其前一行元素之和,即arr[ i ][ j ] = arr[ i-1 ][ j-1 ] + arr[ i-1 ][ j ];

(4)按行输出。

程序如下:

#include

#define ROW 10

void PascalTriangle()

{

int arr[ROW][ROW];

for(int i=0;i

{

for(int j=0;j<=i;j++)

{

if(j==0 || i==j)

{

arr[i][j] = 1;

}

else

{

arr[i][j] = arr[i-1][j-1] + arr[i-1][j];

}

}

}

for(int i=0;i

{

for(int j=0;j<=i;j++)

{

printf("%5d ",arr[i][j]);

}

printf("\n");

}

}

int main()

{

PascalTriangle();

}

解法2:运用一维数组,采用逐行求解逐行输出的方法。

程序如下:

#include

void main()

{

int i;

int j;

int a[30];

a[0] = 1; //各行第一个元素赋值为1

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

for(i=2; i<=10; i++)

{

a[i-1] = 1; //各行最后一个元素赋值为1

for(j=i-2; j>0; j--)

a[j] += a[j-1]; //计算每一行除第一列和最后一列的其它元素之和

for(j=0; j

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

printf("\n");

}

}

解法3:不使用数组实现,可以用for循环语句。

思路:

第n行的第1个数为1,

第二个数为1×(n-1),

第三个数为1×(n-1)×(n-2)/2,

第四个数为1×(n-1)×(n-2)/2×(n-3)/3,

…依此类推

代码如下:

#include

#include

int main()

{

int s = 1; //数值

int h; //高度

int i;

int j;

scanf("%d",&h);

printf("1\n");

for(i=2; i<=h; s=1,i++)

{

printf("1 ");

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

printf("%d ",(s = (i-j)*s/j));

printf("1\n");

}

getchar();

return 0;

}

c语言编程杨辉三角前八行思路,C语言----(杨辉三角)相关推荐

  1. C语言输出杨辉三角前n行(低时间复杂度)

    C语言实现杨辉三角前n行(低时间复杂度) 杨辉三角定义 杨辉三角,是二项式系数在三角形中的一种几何排列,初中的时候我们学过它的每一个数都是上一行两个数之和,如图 已知杨辉三角行数 如果我们已知要求的杨 ...

  2. 杨辉三角:给出正整数n(2<=n<=10),输出杨辉三角前n行 杨辉三角性质:三角形中的每个数字等于它两肩上的数字相加

    给出正整数n(2<=n<=10),输出杨辉三角前n行 杨辉三角性质:三角形中的每个数字等于它两肩上的数字相加输入格式:输入一个正整数n 输出格式:输出杨辉三角的前n行,元素中间用一个空格分 ...

  3. C语言编程入门新手学习精华:这样学习C语言最有效

    1. C语言已死吗? 本资料描述的是使用C语言的高级技巧,力求将你的C语言能力由"基础"提升为"高级".但是学习态度胜过学习方法,在正式学习之前,有一个问题不吐 ...

  4. 换硬币c语言编程_为什么大多数程序员都会学C语言的5大原因!什么原因让你学不会?...

    一.c语言,不朽的传奇 从30年前到如今,一些流行的科技媒体上发表的编程语言排行榜,c语言始终稳定位于前三位,这是其他一种其他的编程语言都达不到的.c语言的江湖地位,不容撼动.虽历史悠久,却也是不朽的 ...

  5. c语言编程计算c上0下n,计算方法C语言编程讲解.doc

    计算方法C语言编程讲解 计算方法C语言编程 1.已知方程在区间[1,2]内有一根,试问用二分法求根,使其具有5位有效数字至少应二分多少次? [程序设计] clc;clear a=1;b=2;n=0; ...

  6. c语言编程基础第四版电子教案,《C语言编程基础》电子教案.doc

    <C语言编程基础>电子教案 课题(内容)1.1 C语言简史及特点课时1教学任务分析教学目标知识技能通过本节课的教学,使学生了解并熟悉编程语言C的发展历史.特点及其种类和适用范围.过程与方法 ...

  7. C语言编程可调电子钟设计,基于ZG211使用C语言编程的电子钟显示设计(最终版)...

    <基于ZG211使用C语言编程的电子钟显示设计.doc>由会员分享,可在线阅读全文,更多相关<基于ZG211使用C语言编程的电子钟显示设计(最终版)>请在www.woc88.c ...

  8. C语言编程论文多少,学生程序论文,有关C语言编程改革的参考

    指导: 本文主要讨论与学生程序论文相关的参考文献,对您的论文写作有参考作用. (1. 江苏师范大学现代教育技术中心,江苏徐州221116: 2. 中国矿业大学徐海学院计算机科学与技术系,江苏徐州221 ...

  9. python语言编程入门先学什么-初学者先学习python语言还是C语言

    有人觉得应该从C语言开始入门,原因如下: 1.C语言是你上大学第一门接触的编程语言,可见它的重要性. 2.C语言是一种面向过程的语言,而Python是一种面向对象的解释型计算机程序设计语言.而你需要先 ...

最新文章

  1. DNS 映射解析应用(二)
  2. 【Android 安全】DEX 加密 ( Java 工具开发 | 加密解密算法 API | 编译代理 Application 依赖库 | 解压依赖库 aar 文件 )
  3. android简单长按,H5实现安卓长按/抬起事件
  4. AutoLayouterLib第一版基本完成
  5. JavaSE(十七)——IO流之字节流
  6. Java ServletContextListener监听器的使用
  7. android自定义水波纹,android 自定义view-水波纹进度球
  8. 模拟退火算法(TSP问题)
  9. WPF采用MVVM模式(绑定:纯前台、命令:触发器绑定命令)
  10. 用SandCastle为注释生成chm文档
  11. hdu4757(可持久化 Trie )
  12. 价量分析.成交量判断多空头.用跌减涨增量法买股票.成交量识庄家
  13. 自定义分页信息java_java-displaytag自定义分页
  14. mysql连接显示“message from server :“Host ‘XXXX‘ is not allowed to connect to this MySQL server“”
  15. 你一定要掌握的三条IT运维面试技巧
  16. linux秘钥登录使用authorized_keys不生效
  17. Factor Graphs and GTSAM
  18. 重庆大学计算机组装与维护,重庆大学2020年春季学期课程作业计算机组装与维护(37页)-原创力文档...
  19. 基于双月数据集利用最小二乘法进行分类
  20. java中用于定义小数的关键字_Java中用于定义小数的关键字有两个:() 和 (),后者精度高于前者。...

热门文章

  1. R线性回归模型构建示例
  2. python和R对dataframe的常用操作的差异:head、tail、shape、dim、nrow、ncol、descirbe、summary、str
  3. AR模型、MA(Moving Average)模型、ARMA模型、时间序列的定阶、ARIMA、SARIMAX
  4. 基于Isolation Forest以及MeanShift进行异常检测模型的构建
  5. Webinar: An introduction to PacBio’s long-read sequencing how it has been used to make important s
  6. flask传值给js
  7. 【ES6】JS第7种数据类型:Symbol
  8. 快速人体姿态估计--Pose Proposal Networks
  9. 【keras】Input 0 of layer conv2d is incompatible with the layer. expected ndim=4, found ndim=3
  10. Linux/ubuntu 安装 redis 4.0报错解决:redis-server.service: Can't open PID file /var/run/redis/redis-server.