Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关于幂、阶乘和组合的C编程问题_C - Fatal编程技术网

关于幂、阶乘和组合的C编程问题

关于幂、阶乘和组合的C编程问题,c,C,我被分配了一个关于用幂因子和组合解方程的问题。在这个问题中,我被分配到带有for循环的代码幂和阶乘。我想我已经做到了(他们正在一个接一个地工作)。同样在主函数中,我需要计算一个方程。这是我的代码,我觉得很合适。但最终我得到了一个“浮点异常(内核转储)”错误。任何帮助都是好的,我其实不想要正确的答案,如果你能解释为什么我会出现这个错误,那将是很有帮助的。非常感谢。(我不能上传照片,因为声誉问题,如果有办法分享照片,我会的。) #包括 整数阶乘(整数n){ int i,结果=1; 对于(i=1;i

我被分配了一个关于用幂因子和组合解方程的问题。在这个问题中,我被分配到带有for循环的代码幂和阶乘。我想我已经做到了(他们正在一个接一个地工作)。同样在主函数中,我需要计算一个方程。这是我的代码,我觉得很合适。但最终我得到了一个“浮点异常(内核转储)”错误。任何帮助都是好的,我其实不想要正确的答案,如果你能解释为什么我会出现这个错误,那将是很有帮助的。非常感谢。(我不能上传照片,因为声誉问题,如果有办法分享照片,我会的。)

#包括
整数阶乘(整数n){
int i,结果=1;
对于(i=1;i x,指数->y
int结果=1;

对于(int i=1;i如果确定要执行整数运算,则需要确保除法前分母不为零:

if (denominator != 0)
    ans = ans + (numerator/denominator);
在外部for循环的第一次迭代中,
i=1
,这意味着分母循环只执行一次,将分母设置为:
1^n*C(n1)/n!=1/(n-1)!
,在整数除法中为0(除非
n=1
n=2

如果您不打算执行整数运算,则将
分母的类型更改为
双精度

double denominator = 0, numerator = 0;

您可能需要对某个地方进行优化,否则将出现整数溢出。此外,此代码将无法编译。您已定义了
answer
,但未定义
ans
。因此,不会出现此错误的代码。请发布。请阅读并尝试自己解决此问题。如果您不理解为什么会发生此错误,你至少可以解释它出现在哪里——哪个操作失败了,输入值是什么。顺便说一句:它的拼写是
分子
。你所有的除法可能都需要使用
双精度
,而不是
整数
,否则当分母大于分子时,你就会得到零,检查分母是否大于分子提名人是零或不工作。此外,我明白它的逻辑谢谢大家的帮助。
double denominator = 0, numerator = 0;