#include <stdio.h>

int main() {
    int n;
    printf("请输入行数:");
    scanf("%d", &n);

    int arr[n][n];
    for (int i = 0; i < n; i++) {
        for (int j = 0; j <= i; j++) {
            if (j == 0 || j == i) {
                arr[i][j] = 1;
            } else {
                arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
            }
        }
    }

    for (int i = 0; i < n; i++) {
        for (int k = 0; k < n - i - 1; k++) {
            printf(" ");
        }
        for (int j = 0; j <= i; j++) {
            printf("%-4d", arr[i][j]);
        }
        printf("\n");
    }

    return 0;
}

该程序使用二维数组 arr 来存储杨辉三角形的数字,并通过两层循环进行遍历,其中内层循环计算每一行数字的值。程序首先将首尾数字设置为 1,然后根据上一行的数字进行累加计算。

程序使用 printf(" "); 在每行之前打印空格,并使用 n - i - 1 来控制空格的数量,使得三角形呈现等腰形状。最终,程序使用 printf("%-4d", arr[i][j]); 打印每个数字,并使用 %-4d 格式化输出,使每个数字占 4 个字符的空间。

该程序可以根据用户输入的行数来打印相应的杨辉三角形,并且可以很方便地进行扩展,例如,可以通过修改格式化字符串来控制数字的宽度和对齐方式,也可以添加其他功能来实现更复杂的操作。

C语言实现等腰杨辉三角形打印

原文地址: https://www.cveoy.top/t/topic/mMfv 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录