C语言实现杨辉三角输出:原理与完整代码示例

蓝鲸
蓝鲸
发布时间:2026-10-14 | 5人浏览过
原创

利用C语言中的二维数组存储数据,可以清晰地还原杨辉三角的数学规律。本文提供经过验证的完整代码,涵盖数据初始化、核心逻辑计算及屏幕格式化输出。

什么是杨辉三角及其规律

杨辉三角(Yang Hui's Triangle),又名贾宪三角,是二项式系数在三角形中的一种几何排列。其核心规律在于数值生成与边界条件:

  1. 边界值:三角形的两条斜边(第一列和最后一列)均为 1。
  2. 递推关系:中间任意位置的数值等于其“肩上”两个位置数值之和。即第 $i$ 行第 $j$ 列的值等于第 $i-1$ 行第 $j-1$ 列与第 $i-1$ 行第 $j$ 列的和。

C语言实现步骤

要在屏幕上整齐地输出杨辉三角,主要涉及以下三个编程阶段:

第1步:声明并初始化二维数组

我们需要一个足够大的二维数组来存储三角数据。为了避免访问未初始化的内存导致乱码,应将数组初始化为0。

#include<stdio.h>
#include<stdlib.h>
 
int main()
{
    /* 定义10x10的二维数组,用于存储杨辉三角的数据 */
    int i, j, k;
    int arr[10][10] = {0}; /* 必须初始化,否则包含随机垃圾值 */
    
    printf("打印出杨辉三角:\n");
    /* ...后续逻辑... */

第2步:填充三角数值逻辑

按照上述规律,先处理边界(每行首尾为1),再通过嵌套循环计算中间的累加值。

    /* 设置第一列和对角线上的数值为1 */
    for(i=0; i<10; i++)
    {
        arr[i][0] = 1;     /* 每行第一个数 */
        arr[i][i] = 1;     /* 每行最后一个数 */
    }
    
    /* 计算中间数值 */
    for(i=2; i<10; i++)
    {
        for(j=1; j<i; j++) /* 注意:只要算到上一行对应的列即可,不必算到9 */
        {
            arr[i][j] = arr[i-1][j-1] + arr[i-1][j];
        }
    }  

第3步:控制格式输出

为了使输出在屏幕上呈三角形分布,需要打印前导空格,并通过换行符进行分行控制。

    /* 遍历数组进行屏幕打印 */
    for(i=0; i<10; i++)
    {
        /* 打印前导空格以形成三角形状 */
        for(k=0; k<10-i; k++)
        {
            printf(" ");
        }
        
        /* 打印当前行的数字 */
        for(j=0; j<=i; j++)
        {
            printf("%d ", arr[i][j]);
        }
        printf("\n"); /* 行末换行 */
    }
    
    system("pause"); /* 暂停窗口以便查看结果 */
    return 0;
}

以上就是C语言在屏幕上输出杨辉三角的详细内容,更多关于C语言数组算法的资料请关注本站其它相关文章!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表