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

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

http://blog.sina.com.cn/s/blog_49fb2853010004lt.html

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

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

杨辉三角形的第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;
}

#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;
}