c语言-C语言杨辉三角实现...................

问题描述

C语言杨辉三角实现...................

int a[10][10];
int i,j,h;

    scanf_s("%d",&h);//想打印的行数
    for (i = 0; i < 10; i++)
        for (j = 0; j < 10; j++)
            if (j>i)
                a[i][j] = 0;// 对列大于行的元素清零

    for (i = 0, j = 0; i < 10; i++)
        a[i][0] = 1;//把第一列全部变成1

    for (i = 0; i < 10; i++)
        for (j = 0; j < 10; j++)
            if (j = i)
                a[i][j] = 1;//把对角线的元素全变成1

    for (i = 0; i < 10; i++)
        for (j = 0; j < 10; j++)
            if (i>0 && j>0)
                a[i][j] = a[i - 1][j] + a[i - 1][j - 1];//只要不是第一行的或者第一列的全都按这个规律,这个元素等于它上面的加左上面的元素。

    for (i = 0; i < h + 1; i++)
    {
        for (j = 0; j < h+1; j++)
        { if (i>=j)
                printf("%d", a[i][j]);
        }
        printf("n");
    }//把每一行都打印出来,前提是行大于或等于列。
    请大神们不吝赐教,哪错了

解决方案

#include
int main(){

int a[10][10]={0};
int i,j,h;
scanf("%d",&h);//想打印的行数
for (i = 0; i < 10; i++)
for (j = 0; j < 10; j++)
if (j>i)
a[i][j] = 0;// 对列大于行的元素清零

for (i = 0,j=0; i < 10; i++)
{
     a[i][0] = 1;//把第一列全部变成1

}

for (i = 0; i < 10; i++)
{
     for (j = 0; j < 10; j++)
     {
        if (j == i)//   **已改正 == 原为 j=i    应该为 j==i**
            a[i][j] = 1;//把对角线的元素全变成1
     }

}

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

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

        if (i>0 && j>0&& i>=j)/**/只打印对角线下面 **
            a[i][j] = a[i - 1][j] + a[i - 1][j - 1];//只要不是第一行的或者第一列的全都按这个规律,这个元素等于它上面的加左上面的元素。
        }

}
for (i = 0; i < h + 1; i++)
{
for (j = 0; j < h+1; j++)
{ if (i>=j)
printf("%dt", a[i][j]);
}
printf("n");
}//
}

注意相等与赋值的区别,= 与 == 是不同的

解决方案二:

杨辉三角形的每一项,都等于CMN(M选N的组合数)
可以直接计算,没必要开数组

解决方案三:

http://wenku.baidu.com/view/8a86a44cf7ec4afe04a1df47.html
http://blog.csdn.net/milkcu/article/details/8850349

时间: 2024-08-04 14:00:14

c语言-C语言杨辉三角实现...................的相关文章

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

输入要显示的杨辉三角的行数,会打印出金字塔型的杨辉三角,不过行数太多的话,效果不太好,可以再调整一下格式控制   复制代码 代码如下: #include <stdio.h> #include <stdlib.h> int main() {  int i,j,k;  int line;  int *prev, *next;  printf("输入要查看杨辉三角的行数(大于2):");  scanf("%d",&line);  if(li

c语言-杨辉三角等腰三角形求解

问题描述 杨辉三角等腰三角形求解 #include#include#define OK 1#define ERROR -1#define OVERFLOW -2#define MAXQSIZE 100 typedef int Status;typedef struct{ int *base; int front; int rear;}SqQueue; Status InitQueue(SqQueue &Q){ Q.base=(int *)malloc(MAXQSIZE*sizeof(int));

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

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

c语言-杨辉三角结果全部出来

问题描述 杨辉三角结果全部出来 可不可以只用c语言写一下啊,结合数据结构 解决方案 http://baike.baidu.com/view/7804.htm 自己去查一下就知道啊 解决方案二: 杨辉三角形的第n行的第m个元素等于n!/((n-m)!*m!)因此编程如下int x = 10;for (int n = 1; n < x; n++){ for (int m = 1; m <= n; m++) printf(""%dt"" p(n) / (p(n

C语言实现杨辉三角实例_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

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

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

c语言-杨辉三角(我是新手,详细点哈)

问题描述 杨辉三角(我是新手,详细点哈) 用C打印出7行杨辉三角!成塔装的那种!(我是新手,求注解) 解决方案 #include <stdio.h>#define N 7int main(){ int a[N][N]; int i=0j=0; for(i=0;i<N;i++) a[i][0]=a[i][i]=1; for(i=2;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+

用Javascript打印杨辉三角

var arr = new Array(); for(var i = 0 ;i < 6 ; i++){ if(i == 0){arr.push(1);} else if(i == 1){arr = new Array();arr.push(1);arr.push(1);} else{ var arr2 = new Array(); arr2.push(1); for(var j = 0;j<arr.length - 1; j++){arr2.push(arr[j] + arr[j+1]);}

用Python输出一个杨辉三角的例子_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层的数字,然后将相邻