【发布时间】:2020-05-02 17:13:30
【问题描述】:
我一直在尝试循环代码中屏幕截图中的“1 + 1/3 + 1/5 + ... + 1/n”部分,但无法全部完成。
编译器计算出正确的阶乘'x',现在对我来说唯一的问题是循环函数中的分数。
int main()
{
int i=1,n,x=1; //x : factorial
double f;
cout<<"Enter an odd number : "<<endl;
cin>>n;
if (n%2==0)
{
cout<<"You have to enter an odd number."<<endl;
}
else
{
while(i<=n)
{
x = x * i;
f = x*(1+(1.0/n)) ;
i+=1;
}
}
cout<<"f = "<<f<<endl;}
【问题讨论】:
-
你在做整数除法。
1/n应该是1.0/n。 -
@MikeCAT 是的,我刚刚纠正了这一点,但我仍然希望它计算分数,例如,如果我输入数字 9,代码应该计算:f = 9! (1+ 1/3 + 1/5 + 1/7 + 1/9)
标签: c++ visual-c++ c++17