gpt4 book ai didi

c++ - 显示帕斯卡三角形的第 n 行

转载 作者:行者123 更新时间:2023-11-28 06:31:07 25 4
gpt4 key购买 nike

我正在尝试用 C++ 创建一个程序,在其中接受用户输入并显示 Pascal 三角形的特定行。即输入 3 应该得到 1 3 3 1。但是,当我在我的程序中输入 3 时,它显示“1 1 1 1”。我想我已经很接近了,但我不太清楚哪里出了问题。

#include <iostream>
using namespace std;
int n, k, fact1, fact2, fact3, number1, number2, number3, nTakeAwayK, nChooseK;

void CalculateNChooseK();

int main()
{
cout << "Enter a row number for Pascal's Triangle: ";
cin >> n;
int x = 1;
for (int k = 0; k <= n; k++)
{
cout << x << '\t';
CalculateNChooseK();
x = nChooseK;

}
cout << endl;
system("PAUSE");
return 0;
}

void CalculateNChooseK()
{
fact1 = 1;
for (number1 = 1; number1 <= n; number1++)
{
fact1 = (fact1 * number1);
}

fact2 = 1;
for (number2 = 1; number2 <= k; number2++)
{
fact2 = (fact2 * number2);
}

nTakeAwayK = (n - k);
fact3 = 1;
for (number3 = 1; number3 <= nTakeAwayK; number3++)
{
fact3 = (fact3 * number3);
}

nChooseK = fact1 / (fact2*fact3);
}

最佳答案

修改你的代码..希望这会有所帮助

for (k = 1; k <= n+1; k++)
{
cout << x << '\t';
CalculateNChooseK();
x = nChooseK;

}

当你在 for 循环中声明 k 时,这个值不是全局的。

for (int k = 0; k <= n; k++) // don't declare k here.. and also loop from 1 to n+1 inclusive

关于c++ - 显示帕斯卡三角形的第 n 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27553585/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com