我正在尝试做一个阶乘 阶乘通过用户输入接收一个数字,然后执行此公式
input = 5;
5! = 5(4)(3)(2)(1)
唯一的问题是它的说法不能将'fac'用作函数,除了我认为其中的数学是正确的,是的。
#include <iostream>
using namespace std;
int main()
{
int fac = 0;
int sum = 0;
int cnt = 1;
cout << "Input a number to get the Factorial: ";
cin >> fac;
for (fac; fac > 0; cnt ++)
{
sum = fac(fac - cnt)
}
cout << fac << "! : ";
}
最佳答案
在标准数学中,邻接表示乘法。在大多数计算机语言中,它不是。
在 C++ 中,您必须使用 *
运算符将两个量相乘:
sum = fac * (fac - cnt)
但是,您会发现您的程序中还有其他一些数学/逻辑错误。例如,当 fac > 0
为 false 时退出循环,但您从不在循环中修改 fac
。因此循环要么执行零次,要么执行无限次。
关于c++ - 陷入循环 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22672828/