用C语言编写杨辉三角

用c语言编写杨辉三角的前10行

#include
int main()
{
    int n,m,s,j;
    s=1;
    m=10;
    for(n=1;n<=m;n++)
    {
        s=1;
        for(j=1;j<=n;j++)
        {
            if(j==1)
            {
                s=1;
            }
            else
            s=s*(n-j+1)/(j-1);
            printf("%d\t",s);
        }
    printf("%d\n");
    }
    return 0;
}

这是我的代码,运行结果为什么后面还有一些数字呢

img

把这个 %d 去掉

img

#include <stdio.h>

int main()
{
    int n, m, s, j;
    m = 10; // 打印10行杨辉三角

    for (n = 0; n < m; n++) // 外层循环控制行数
    {
        s = 1; // 每一行开头的数字都是1

        for (j = 0; j <= n; j++) // 内层循环控制列数
        {
            if (j == 0) // 每一行第一个数字是1
            {
                s = 1;
            }
            else
            {
                s = s * (n - j + 1) / j; // 计算组合数
            }
            printf("%d\t", s); // 输出当前数字
        }
        printf("\n"); // 换行
    }

    return 0;
}