`

打印杨辉三角10

    博客分类:
  • C
J# 
阅读更多
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<i;j++) 

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

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

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

printf("%5d",a[i][j]); 
printf("\n"); 
getch();
} 
}
分享到:
评论
4 楼 chenchuxin 2008-03-19  
main()
{
int i,j;
int a[10][10];



for(i=0;i<10;i++)
{a[i][0]=1;
a[i][i]=1;}



for(i=2;i<10;i++)
for(j=1;j<i;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];

for(i=0;i<10;i++)
{for(j=0;j<=i;j++)
printf("%5d",a[i][j]);
printf("\n");
getch();
}
}  
3 楼 chenchuxin 2008-03-18  
?????打印10000行此程序就会出错
2 楼 chenchuxin 2008-03-18  
百度首页 | 百度空间 | 登录 ^_^ 天堂里的孩子!~~只有想不到,不怕做不到~~! 主页博客相册|个人档案 |好友   查看文章   
杨辉三角形的六种解法~~~~~2008年03月08日 星期六 下午 11:43杨辉三角形是形如
1
1   1
1   2   1
1   3   3   1
1   4   6   4   1
的三角形,其实质是二项式(a+b)的n次方展开后各项的系数排成的三角形,它的特点是左右两边全是1,从第二行起,中间的每一个数是上一行里相邻两个数之和。这个题目常用于程序设计的练习。
下面给出六种不同的解法。
解法一
#include   <stdio.h>
main()
{ int i,j,n=0,a[17][17]={0};
   while(n<1 || n>16)
   { printf("请输入杨辉三角形的行数:");
     scanf("%d",&n);
   }
   for(i=0;i<n;i++)
     a[i][0]=1;       /*第一列全置为一*/
   for(i=1;i<n;i++)
     for(j=1;j<=i;j++)
       a[i][j]=a[i-1][j-1]+a[i-1][j];/*每个数是上面两数之和*/
   for(i=0;i<n;i++)    /*输出杨辉三角*/
   { for(j=0;j<=i;j++)
       printf("%5d",a[i][j]);
     printf("\n");
   }
}
点评:解法一是一般最容易想到的解法,各部分功能独立,程序浅显易懂。
解法二
#include   <stdio.h>
main()
{ int i,j,n=0,a[17][17]={1};
   while(n<1 || n>16)
   { printf("请输入杨辉三角形的行数:");
     scanf("%d",&n);
   }
   for(i=1;i<n;i++)
   { a[i][0]=1;              /*第一列全置为一*/
     for(j=1;j<=i;j++)
       a[i][j]=a[i-1][j-1]+a[i-1][j];   /*每个数是上面两数之和*/
   }
     for(i=0;i<n;i++)            /*输出杨辉三角*/
     { for(j=0;j<=i;j++)
         printf("%5d",a[i][j]);
       printf("\n");
     }
}
点评:解窢二是在解法一的基础上,把第一列置为1的命令移到下面的双重循环中,减少了一个循环。注意初始化数组的变化。
解法三
#include   <stdio.h>
main()
{ int i,j,n=0,a[17][17]={0,1};
   while(n<1 || n>16)
   { printf("请输入杨辉三角形的行数:");
     scanf("%d",&n);
   }
   for(i=1;i<=n;i++)
   for(j=1;j<=i;j++)
     a[i][j]=a[i-1][j-1]+a[i-1][j];   /*每个数是上面两数之和*/
   for(i=1;i<=n;i++)           /*输出杨辉三角*/
   { for(j=1;j<=i;j++) printf("%5d",a[i][j]);
      printf("\n");
   }
}
点评:解法三是在解法一、二的基础上,把第一列置为1的命令去掉了,注意初始化数组的变化。
解法四
#include   <stdio.h>
main()
{ int i,j,n=0,a[17][17]={0,1};
   while(n<1 || n>16)
   { printf("请输入杨辉三角形的行数:");
     scanf("%d",&n);
   }
   for(i=1;i<=n;i++)
   { for(j=1;j<=i;j++)
     { a[i][j]=a[i-1][j-1]+a[i-1][j];   /*每个数是上面两数之和*/
       printf("%5d",a[i][j]);    /*输出杨辉三角*/
     }
     printf("\n");
   }
}
点评:解法四是在解法三的基础上,把计算和打印合并在一个双重循环中。
解法五
#include <stdio.h>
main()
{ int i,j,n=0,a[17]={1},b[17];
   while(n<1 || n>16)
   { printf("请输入杨辉三角形的行数:");
     scanf("%d",&n);
   }
   for(i=0;i<n;i++)
   { b[0]=a[0];
     for(j=1;j<=i;j++)
        b[j]=a[j-1]+a[j];   /*每个数是上面两数之和*/
     for(j=0;j<=i;j++)            /*输出杨辉三角*/
     { a[j]=b[j];   /*把算得的新行赋给a,用于打印和下一次计算*/
       printf("%5d",a[j]);
     }
     printf("\n");
   }
}
点评:解法一到解法四都用了二维数组,占用的空间较多。而解法五只使用了两个一维数组。
解法六
#include   <stdio.h>
main()
{ int i,j,n=0,a[17]={0,1},l,r;
   while(n<1 || n>16)
   { printf("请输入杨辉三角形的行数:");
     scanf("%d",&n);
   }
   for(i=1;i<=n;i++)
   { l=0;
     for(j=1;j<=i;j++)
     { r=a[j];
       a[j]=l+r;   /*每个数是上面两数之和*/
       l=r;
       printf("%5d",a[j]);   /*输出杨辉三角*/
     }
     printf("\n");
   }
}
点评:解法六只使用了一个一维数组和两个临时变量。
1 楼 chenchuxin 2008-03-18  
 #include<stdio.h>
#define N 10
void main()
{
int a[N][N]={1},i,j;
for(i=1;i<N;i++)
{
   a[i][0]=1;
   for(j=1;j<i;j++)

    a[i][j]=a[i-1][j-1]+a[i-1][j];
}
for(i=0;i<N;i++)
{
   for(j=0;j<i;j++)
    printf("%d\t",a[i][j]);
   printf("\n");
   getch();
}
} 

相关推荐

    用java打印杨辉三角

    在这个Java编程实践中,我们将学习如何用Java来打印杨辉三角。 首先,我们了解杨辉三角的基本概念。每个数字是它正上方两个数字的和,三角形的边缘总是1。例如,前几行的杨辉三角形如下所示: ``` 1 1 1 1 2 1 ...

    锯齿数组打印杨辉三角形

    锯齿数组打印杨辉三角形 在计算机科学中,杨辉三角是一种特殊的数列,它以中国数学家杨辉的名字命名。杨辉三角的每一行的第一个和最后一个元素都是1,其他元素是其上一行的两个元素之和。这是一种非常有趣的数列,...

    C++打印杨辉三角

    C++打印杨辉三角

    打印杨辉三角python实现源码.zip

    打印杨辉三角python实现源码.zip打印杨辉三角python实现源码.zip打印杨辉三角python实现源码.zip打印杨辉三角python实现源码.zip打印杨辉三角python实现源码.zip打印杨辉三角python实现源码.zip打印杨辉三角python...

    T-SQL打印杨辉三角

    这个特定的题目要求我们使用T-SQL来实现一个功能,即打印杨辉三角。杨辉三角,又称为帕斯卡三角,是数学中一个非常重要的概念,它在组合数学、概率论以及计算机科学中都有广泛应用。 杨辉三角的每一行是一组数字,...

    c++ 实现打印杨辉三角

    在C++编程中实现打印杨辉三角,可以帮助我们理解递归、数组和循环等基本概念。 首先,我们要了解杨辉三角的基本性质: 1. 第一行和每一行的两端数字都是1。 2. 每个数字是上一行相同位置和相邻位置的数字之和。 ...

    根据输入行数,打印出杨辉三角形.docx

    // 打印杨辉三角 } private static int[][] getTriangle(int num) { int[][] ary = new int[num][num]; // 用二维数组存储 for(int i = 0; i ; i++) // 竖边、斜边置 1 ary[i][0] = 1; ary[i][i] = 1; for...

    C语言程序设计-二维数组的赋值:打印杨辉三角形(要求打印8行)

    C语言程序设计-二维数组的赋值:打印杨辉三角形(要求打印8行)

    用c#打印杨辉三角.rar

    在这个“用c#打印杨辉三角”的项目中,我们将探讨如何利用C#来实现这一数学上的经典问题。 杨辉三角,也称为帕斯卡三角,是一个二维的数字阵列,它的每一行都是一个等差数列的二项式系数。这个三角形在数学中有许多...

    标准打印杨辉三角

    一般的都是打印直角三角形式的杨辉三角,本人作了点修改,输出等边三角(非直角)形式的杨辉三角,

    c++语言实现打印杨辉三角

    ### C++语言实现打印杨辉三角 #### 背景介绍与知识点概述 在学习C++编程语言的过程中,掌握如何运用基本语法结构来解决实际问题是非常重要的一步。本篇文章将详细解析一个C++小程序——“C++语言实现打印杨辉三角...

    VB 打印杨辉三角形

    在VB(Visual Basic)编程中,打印杨辉三角形是一个常见的练习,用于学习循环和数组的概念。杨辉三角形,又称为帕斯卡三角,是一个二维的数字模式,每个数是上面两数之和,其形状类似一个倒置的等腰三角形。它在数学...

    等腰三角形打印杨辉三角

    在这个题目中,我们被要求编写一个C++程序,以等腰三角形的形式打印杨辉三角。 在C++编程中,实现这样的功能通常涉及到循环结构和数组。我们可以先定义一个二维数组来存储每一行的杨辉三角数字,然后根据给定的行数...

    打印杨辉三角的c语言程序

    杨辉三角是一个由数字排列成的三角形数表,一般形式如下:  1 n=0  1 1 n=1  1 2 1 n=2  1 3 3 1 n=3  1 4 6 4 1 n=4  1 5 10 10 5 1 n=5  1 6 15 20 15 6 1 n=6 现编写c语言程序使得打印以上表

    使用python打印十行杨辉三角过程详解

    杨辉三角,是二项式系数在三角形中的一种几何排列 每个数等于它上方两数之和。 每行数字左右对称,由1开始逐渐变大。 第n行的数字有n项。 第n行数字和为2n-1。 第n行的m个数可表示为 C(n-1,m-1),即为从n-1个...

    flash打印杨辉三角形

    flash打印杨辉三角形,两次循环,打印排版正确。

    c语言 打印杨辉三角

    c语言 打印杨辉三角

    打印出杨辉三角形(要求打印出前15行)。(杨辉三角最本质的特征是,它的两条斜边都是由数字1组成的,而其余的数则是等于它肩上的两个数之和。)

    杨辉三角形打印输出 杨辉三角形是一种特殊的数形结构,它的特征是两条斜边都是由数字1组成的,而其余的数则是等于它肩上的两个数之和。杨辉三角形有很多实践应用,如组合数学、计数学、概率论等。 杨辉三角形的...

    杨辉三角C++编程

    主函数`main()`负责接收用户输入的行数`n`,然后调用`YangHui`方法生成并打印杨辉三角。示例代码如下: ```cpp int main() { SeqQueue&lt;int&gt; s; int n; cout 请输入杨辉三角的行数: "; cin &gt;&gt; n; cout 杨辉三角...

    “打印杨辉三角前n行”C语言源代码

    本程序可以打印出杨辉三角的前n行,多少行在宏定义中输入

Global site tag (gtag.js) - Google Analytics