c語言楊輝三角形代碼右對(duì)齊怎么實(shí)現(xiàn)

小億
134
2024-02-05 15:21:53
欄目: 編程語言

要實(shí)現(xiàn)楊輝三角形的右對(duì)齊,可以按照以下步驟進(jìn)行:

  1. 首先確定要打印的楊輝三角形的行數(shù)n,可以通過用戶輸入或者直接賦值。

  2. 使用一個(gè)二維數(shù)組來保存楊輝三角形中每個(gè)位置的數(shù)字。需要注意的是,楊輝三角形的每一行的數(shù)字個(gè)數(shù)都比行數(shù)多1,因此數(shù)組的列數(shù)應(yīng)為n+1。

  3. 使用兩個(gè)循環(huán)嵌套來計(jì)算楊輝三角形中每個(gè)位置的數(shù)字。外層循環(huán)控制行數(shù),內(nèi)層循環(huán)控制列數(shù)。具體計(jì)算公式為:arr[i][j] = arr[i-1][j-1] + arr[i-1][j],其中i表示行數(shù),j表示列數(shù)。

  4. 打印楊輝三角形。由于要右對(duì)齊輸出,需要在每行的數(shù)字前面添加適當(dāng)數(shù)量的空格??梢允褂靡粋€(gè)循環(huán)來控制空格的數(shù)量。具體的空格數(shù)量可以根據(jù)行數(shù)和列數(shù)來計(jì)算。

以下是一個(gè)實(shí)現(xiàn)楊輝三角形右對(duì)齊的C語言代碼示例:

#include <stdio.h>

#define MAX_ROWS 10

int main() {
    int n, i, j;
    int arr[MAX_ROWS][MAX_ROWS+1];

    printf("請(qǐng)輸入楊輝三角形的行數(shù):");
    scanf("%d", &n);

    // 計(jì)算楊輝三角形中每個(gè)位置的數(shù)字
    for (i = 0; i < n; i++) {
        for (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 (i = 0; i < n; i++) {
        // 輸出空格
        for (j = 0; j < n - i - 1; j++) {
            printf(" ");
        }
        // 輸出數(shù)字
        for (j = 0; j <= i; j++) {
            printf("%d ", arr[i][j]);
        }
        printf("\n");
    }

    return 0;
}

這段代碼可以根據(jù)用戶輸入的行數(shù)打印出對(duì)應(yīng)行數(shù)的楊輝三角形,并且右對(duì)齊輸出。

0