编写程序,如何用for循环语句编写1+1/2!+1/3!+1/4!+……的前十五项和。

如题所述

#include <stdio.h>
#include <stdlib.h>
long factorial(int a)
{
    long r;
    if(a > 0)
        r = a * factorial(a - 1);
    else
        r = 1;
    return r;
}
int main(void)
{
    int i;
    double result = 0;
    for(i = 1; i <= 15; i++)
        result += 1.0 / factorial(i);
    printf("%f\n", result);

    return 0;
}

代码如上,结果验证:恰好是e-1。 有不懂可以追问或私信

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-02-23
#include <stdio.h>

double sum(int n) {
double i,sum = 0,item = 1.0;
for(i = 1;i <= n;++i) {
item *= i;
sum += 1.0/item;
}
return sum;

int main() {
int a[] = {36,12,5,9,15,14,22,13};
int i,n = sizeof(a)/sizeof(int);
for(i = 0;i < n;i++) {
printf("n = %d\tsum = %lf\n",a[i],sum(a[i]));
}
return 0;
}

相似回答