首页 > 编程语言 > 详细

用C语言实现杨辉三角

时间:2019-12-11 10:35:08      阅读:71      评论:0      收藏:0      [点我收藏+]

Input

  输入数据包含多个测试实例,每个测试实例的输入只包含一个正整数n(1<=n<=30),表示将要输出的杨辉三角的层数。

Output

  对应于每一个输入,请输出相应层数的杨辉三角,每一层的整数之间用一个空格隔开,每一个杨辉三角后面加一个空行。

Sample Input

2 3

Sample Output

1
1 1

1
1 1
1 2 1
乍一看觉得很难办,其实只要把整个杨辉三角写好,他要多少层,你就打印多少层。
代码如下:
#include <stdio.h>
int a[35][35];
int main()
{
    int i,j,n;
    for(i = 0;i < 35;i++)
        for(j = 0;j <= i;j++)
            a[i][j] = 1;
    for(i = 2;i < 35;i++)
        for(j = 1;j < i;j++)
            a[i][j] = a[i-1][j-1]+a[i-1][j];
    while(scanf("%d",&n) != EOF){    
        for(i = 0;i < n;i++)
            for(j = 0;j <= i;j++)
                printf(j==i ? "%d\n" : "%d ",a[i][j]);
        printf("\n");
    }
    return 0;
}

为了避免越界的风险,通常将数组的大小开大一点,应该是ACMer们的基本常识了吧。

后期再将那个比较好看的(初中书上的那种)杨辉三角试着打印出来。希望不鸽。

用C语言实现杨辉三角

原文:https://www.cnblogs.com/xdaniel/p/12020112.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!