C言語でのパスカルの三角形のコードを右揃えにする方法は何ですか?

杨辉三角形を右寄せにするには、以下の手順に従うことができます。

  1. 最初に、出力するパスカルの三角形の行数nを決定します。ユーザーの入力または直接の値の割り当てを使用して行数を設定できます。
  2. 「各位置の数字を保存するために、二次元配列を使用します。なお、パスカルの三角形の各行は行数より1つ多い数字が含まれるので、配列の列数はn+1である必要があります。」
  3. 杨辉三角形の各位置の数字を計算するためには、2つの入れ子ループを使用します。外側のループは行数を制御し、内側のループは列数を制御します。具体的な計算式は、arr[i][j] = arr[i-1][j-1] + arr[i-1][j] であり、ここでiは行数を、jは列数を表します。
  4. 各行の数値を右寄せして出力するために、適切な数のスペースを各行の数値の前に追加する必要があります。スペースの数は行数や列数に応じて計算し、ループを使って制御することができます。

以下は、パスカルの三角形を右揃えにするC言語のコードの例です。

#include <stdio.h>

#define MAX_ROWS 10

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

    printf("请输入杨辉三角形的行数:");
    scanf("%d", &n);

    // 计算杨辉三角形中每个位置的数字
    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(" ");
        }
        // 输出数字
        for (j = 0; j <= i; j++) {
            printf("%d ", arr[i][j]);
        }
        printf("\n");
    }

    return 0;
}

ユーザーが入力した行数に応じて、右寄せで対応する行数のパスカルの三角形を出力するコードです。

bannerAds