gpt4 book ai didi

c - 阶乘和无法正常工作

转载 作者:行者123 更新时间:2023-11-30 15:33:25 24 4
gpt4 key购买 nike

我正在使用 Dev c++,我的代码是 c 语言。我想编写一个求和计算器。总结以下系列的项数

1/1! + 2/2! + 3/3! + ....术语取自输入

这是我的代码,但当我运行它时它挂起

#include<stdio.h>
#include<conio.h>
int main(void)
{
long i,j,facto=1,inp;
double sum=0;
scanf("%ld",&inp);
for (i=0;i<inp;i++)
{
for (j=i;j>1;j--)
{
facto *= j;
}
sum += i / facto;
}
printf("%f",sum);

getch();
return 0;
}

最佳答案

您的代码有几个问题:

  1. 您根本不需要内部循环。这占用了很多时间,并且可能是您不经常看到输出的原因(可能是挂起的原因)。这样做:

    facto = 1;
    for (i=1;i<=inp;i++)
    {
    facto *= i;
    sum += i / facto;
    }
  2. 因为 ifactoint s,i / facto0大多数时候。所以修改一下。

    sum += 1. * i / facto;

关于c - 阶乘和无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23718701/

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