#include<stdio.h>
#include<conio.h>
#include<math.h>
int main()
{
int x,i;
double abc,sum=0;
printf("Enter a value for x:");
scanf("%d",&x);
for(i=0;i<=6;i++)
{
abc=pow(1/2,i)*pow((x-1)/x,i+1);
sum=sum+abc;
}
printf("Sum is %f\n",sum);
}
正如我所检查的那样,数据类型中的值也没有溢出,或者它是否是其他东西?
答案 0 :(得分:0)
问题在于这行代码:
1/2
(x - 1)/x
始终为零,x
&gt; 0.5
也为零0.如果您想使用小数值,可以使用1.0 / 2.0
或abc=pow(0.5, i) * pow((x - 1.0)/x, i + 1.0);
。另外,注意除以零。
结果代码如下所示:
{{1}}