
#include<stdio.h>
unsigned long sum_c(int num) //单独的函数求阶乘
{
unsigned long outdata,i;
outdata = 1;
for(i=1;i<num;i++)
{
outdata *= i+1;
}
return outdata;
}
int main(void)
{
unsigned long c;
float sum;
sum = 1; //结果的初始值 直接存放第一项 免得计算麻烦
c = 2; //分母的初始值
while(1)
{
sum += ((float)1)/sum_c(c);
if(sum_c(c) > 1000000) //放在这个位置是加上了 最后一项
{
break;
}
c += 2;
/*
if(sum_c(c) > 1000000) //放在这里最后一项不加到结果当中
{
break;
}
*/
printf("%f\n",sum) ; //每个循环输出一次 计算结果
}
while(1);
}
int temp = 1;
double y = 0.0;
while( temp * x <= 1000000)
{
temp *= x;
y += 1 / temp;
x++;
}
这是关键部分的代码,希望对楼主有用。