C语言小程序 杨辉三角示例代码

代码如下:

#include <stdio.h>
#include <stdlib.h>
int main()
{
 int i,j,k;
 int line;
 int *prev, *next;
 printf("输入要查看杨辉三角的行数(大于2):");
 scanf("%d",&line);
 if(line < 2)
 {
  printf("行数小于2,Goodbye!\n");
  exit(1);
 }
 for(i=1; i<=line; i++)   //前两行的打印
  printf("   ");
 printf("%6d\n",1);
 for(i=1; i<=line-1; i++)
  printf("   ");
 printf("%6d%6d\n",1,1);
 prev = malloc(2*sizeof(int));
 prev[0] = 1;
 prev[1] = 1;
 for(i=3; i<=line; i++)   //从第三行开始打印
 {
  next = malloc(i*sizeof(int));
  next[0] = 1;
  next[i-1] = 1;
  for(j=line; j>=i; j--)    //外部空格
  {
   printf("   ");
  }
  printf("%6d",1);
  for(k=2; k<i; k++)    //数字
  {
   next[k-1] = prev[k-2] + prev[k-1];
   printf("%6d",next[k-1]);
  }
    }
  printf("%6d\n",1);
  free(prev);
  prev = next;
 }
 free(next);
 return 0;
}

(0)

相关推荐

  • C语言在屏幕上输出杨辉三角

    这就是杨辉三角,也叫贾宪三角.这于我们现在的学习联系最紧密的是2项式乘方展开式的系数规律.如图,在贾宪三角中,第3行的第三个数恰好对应着两数和的平方公式依次下去. 杨辉三角是一个由数字排列成的三角形数表,一般形式如下: ................................................. 杨辉三角的规律是:它的两条斜边都是由数字1组成的,而其余的数则是等于它肩上的两个数之和. 代码如下: #include<stdio.h> #include<stdlib.h

  • C语言实现杨辉三角实例

    本文实例讲述了C语言实现杨辉三角的方法,分享给大家供大家参考. 具体实现方法如下: #include <iostream> using namespace std; void printYangHui(int line) { int **array = new int*[line]; for (int i = 0; i < line; i++) array[i] = new int[line]; for (int i = 0; i < line; i++) { for (int j

  • 批处理杨辉三角效果实现代码

    效果图: 复制代码 代码如下: @echo off&color 0esetlocal enabledelayedexpansionmode con: cols=130 lines=130:topcls::set /p in=请输入行数:set in=23&set ab=1&set var=64if "%in%"=="" goto topif %in% geq 35 goto topif %in% leq 0 goto topecho %in%

  • PHP写杨辉三角实例代码

    复制代码 代码如下: <?php //杨辉三角 for ($i=6;$i >= 0;$i--) { for ($j=$i;$j <= 6;$j++) { if ($j <= 6-1) { echo "<b>a</b>"; }else { echo "<br />"; } } } ?> PHP打印杨辉三角自定义 复制代码 代码如下: <form method="post" ac

  • C语言打印杨辉三角示例汇总

    杨辉三角是我们从初中就知道的,现在,让我们用C语言将它在计算机上显示出来. 在初中,我们就知道,杨辉三角的两个腰边的数都是1,其它位置的数都是上顶上两个数之和.这就是我们用C语言写杨辉三角的关键之一.在高中的时候我们又知道,杨辉三角的任意一行都是的二项式系数,n为行数减1.也就是说任何一个数等于这个是高中的组合数.n代表行数减1,不代表列数减1.如:第五行的第三个数就为=6. 现在我们按第一种思路来写:先定义一个二维数组:a[N][N],略大于要打印的行数.再令两边的数为1,即当每行的第一个数和

  • JavaScript代码简单实现求杨辉三角给定行的最大值

    复制代码 代码如下: function cal(row) { var result = 1; for(var i = 0; i < row / 2; i++) { return result * = (row - i) / i; } return result; };

  • java使用for循环输出杨辉三角

    思路是创建一个整型二维数组,包含10个一维数组.使用双层循环,在外层循环中初始化每一个第二层数组的大小.在内层循环中,先将两侧的数组元素赋值为1,其他数值通过公式计算,然后输出数组元素. 复制代码 代码如下: public class YanghuiTriangle {    public static void main(String[] args) {        int triangle[][]=new int[10][];// 创建二维数组        // 遍历二维数组的第一层  

  • 用Python输出一个杨辉三角的例子

    关于杨辉三角是什么东西,右转维基百科:杨辉三角 稍微看一下直观一点的图: 复制代码 代码如下: 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 11 8 28 56 70 56 28 8 1 杨辉三角有以下几个特点: 每一项的值等于他左上角的数和右上角的数的和,如果左上角或者右上角没有数字,就按0计算.第N层项数总比N-1层多1个 计算第N层的杨辉三角,必须知道N-1层的数字,然后将相邻

  • C++输出上三角/下三角/菱形/杨辉三角形(实现代码)

    1.输出上三角形第一行1个星,第二行3个星,第三行5个星,第四行7个星,第五行9个星.分析:三角形的形状由输出的空白和星组成,通过分析每一行输出几个空格,几个星,就可完成输出三角形的工作. 复制代码 代码如下: #include<iostream>using namespace std;int main(){ int i=0,j=0; for(i=1;i<=5;i++){//控制行数      for(j=1;j<=(5-i);j++){      cout<<&quo

  • Python极简代码实现杨辉三角示例代码

    杨辉三角,又称贾宪三角形,帕斯卡三角形,是二项式系数在三角形中的一种几何排列. 把每一行看做一个list,写一个generator,不断输出下一行的list 实现下列输出效果: # [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,

随机推荐