有关数的类型变换
题目为:∏/2=2/1*2/3*4/3*4/5*6/5*6/7....前100项之积计算∏的值.
#include <stdio.h>
void main()
{
int i;float sum,sum1=1,sum2=0;
for (i=2;i<=100;i=i+2)
{
sum=1;
sum=i/(i-1)*i/(i+1); //这里不知道应该怎样
sum1*=sum;
}
sum2=sum1*2;
printf ("the is %f\n",sum2);
}
运行的结果是0.000000
修改为:
#include <stdio.h>
void main()
{
int i;float sum,sum1=1,sum2=0;
for (i=2;i<=100;i=i+2)
{
sum=1;
sum=(float)(i*i)/((i-1)*(i+1));
sum1*=sum;
}
sum2=sum1*2;
printf ("the is %f\n",sum2);
}
结果就为3.126079
本人是刚刚学的,不知道不同类型的数之间在运行中的转换,请大家指点一下~~~~