hz_king 2014-12-22 05:19 采纳率: 100%
浏览 9680
已采纳

编写程序,生成并输出杨辉三角形(10行)。

在C语言中,运用数组,编写程序,生成并输出杨辉三角形(10行)。

  • 写回答

5条回答 默认 最新

  • bdmh 移动开发领域优质创作者 2014-12-22 05:41
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • bdmh 移动开发领域优质创作者 2014-12-22 05:48
    关注

    这种问题,下回自己百度一下,代码一大堆

    评论
  • threenewbee 2014-12-22 05:55
    关注

    这个问题才回答过
    http://ask.csdn.net/questions/158134

    评论
  • threenewbee 2014-12-22 05:56
    关注

    杨辉三角形的第n行的第m个元素等于n!/((n-m)!*m!)
    因此编程如下
    int x = 10;
    for (int n = 1; n < x; n++)
    {
    for (int m = 1; m <= n; m++)
    printf("%d\t", p(n) / (p(n - m) * p(m)));
    printf("\n");
    }
    再写个阶乘函数:
    int p(int x)
    {
    int r = 1;
    if (x < 2) return r;
    for (int i = 2; i <= x; i++)
    r = r * i;
    return r;
    }

    评论
  • 张卷地 2023-03-01 18:52
    关注
    #include <stdio.h>
    
    int main() {
        int i, j;
        int rows = 10; // 杨辉三角形的行数
        int coef[rows][rows]; // 存储组合数的二维数组
    
        // 计算组合数,存储到数组中
        for (i = 0; i < rows; i++) {
            coef[i][0] = 1; // 第一列的元素为1
            coef[i][i] = 1; // 对角线上的元素为1
            for (j = 1; j < i; j++) {
                coef[i][j] = coef[i-1][j-1] + coef[i-1][j]; // 其他元素为上一行相邻两个元素之和
            }
        }
    
        // 输出杨辉三角形
        for (i = 0; i < rows; i++) {
            // 每行输出行号个空格,使输出成三角形形状
            for (j = 0; j < rows-i; j++) {
                printf(" ");
            }
            for (j = 0; j <= i; j++) {
                printf("%d ", coef[i][j]);
            }
            printf("\n"); // 换行
        }
    
        return 0;
    }
    
    
    
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 求日版华为b610s-77a 官方公版固件,有偿
  • ¥15 关于#java#的问题,请各位专家解答!(相关搜索:java程序)
  • ¥15 linux tsi721的驱动编译后 insmod 提示 报错
  • ¥20 multisim测数据
  • ¥15 求无向连通网的所有不同构的最小生成树
  • ¥15 模拟器的framebuffer问题
  • ¥15 opencv检测轮廓问题
  • ¥15 单点式登录SSO怎么爬虫获取动态SSO_AUTH_ACCESS_Token
  • ¥30 哈夫曼编码译码器打印树形项目
  • ¥20 求完整顺利登陆QQ邮箱的python代码