C语言版:

#include <stdio.h>

int main() {
    int n;
    scanf("%d", &n);
    int arr[n];
    for (int i = 0; i < n; ++i) {
        arr[0] = arr[i] = 1;
        for (int j = i - 1; j > 0; --j) {
            arr[j] += arr[j - 1];
        }
        for (int j = 0; j < i; ++j) {
            printf("%d ", arr[j]);
        }
        printf("1\n");
    }
    return 0;
}

C++ 版:

#include <iostream>
#include <vector>

using namespace std;

int main() {
    int n;
    std::cin >> n;
    std::vector<int> lastVec = {1}, curVec;
    std::cout << 1 << std::endl; // 第 1 行
    for (int i = 1; i < n; ++i) { // 第 2-n 行
        curVec.resize(i + 1);
        curVec[0] = 1;
        std::cout << curVec[0] << " ";
        for (int j = 1; j < i; ++j) {
            curVec[j] = lastVec[j-1] + lastVec[j];
            std::cout << curVec[j] << " ";
        }
        curVec[i] = 1;
        std::cout << curVec[i] << std::endl;
        lastVec = std::move(curVec);
    }
    return 0;
}