首页 > 解决方案 > Code::Blocks - 程序因 255 退出代码而崩溃

问题描述

我正在编写一个简单的程序来制作帕斯卡三角形。它使用的想法是:C(i, j+1)=C(i, j)*(ij)/(j+1)。该程序使用此公式从前一项递归计算下一项。这是代码:

include <bits/stdc++.h>
using namespace std;

int main()
{
    int rows, now = 1;

    cout << "Number of rows: ";
    cin >> rows;

    for (int i = 0; i <= rows; i++)
    {
        now = 1;
        cout << i;
        for (int ii = 0; ii <= rows - i; ii++)
            cout << " ";

        for (int j = 0; j <= i; j++)
        {
            cout << now << " ";
            now = (now *(i - j)) / j+1;
        }
        cout << endl;
    }

    return 0;
}

该程序在写入第 0 行后停止,使用 Windows 监视器,在我单击“关闭程序”后它返回 255。请帮助!

注意:我首先让 i, j 从 1 和 (ij)/j 而不是 (ij)/(j+1) 开始,并且它有效,但我希望它为每个 i 准确计算 C(i, j+1)和 j,而不是以前的 C(i+1, j+1)。

标签: c++combinations

解决方案


推荐阅读