求解这个程序,用的是for嵌套。

img

代码如下:

#include <stdio.h>
#include <math.h>
int main()
{
    int i,j,n;
    double s = 0,item;
    long long jc=1;
    int flag = 1;
    scanf("%d",&n);
    for (i=1;i<=n;i++)
    {
        jc=1;
        for(j=1;j<=i;j++)
            jc*=j;
        item = flag * pow((double)2,i)/jc;
        s += item;
        flag = -flag;
    }
    printf("%.2lf",s);
    return 0;
}

定义一个求解成的函数。然后用pow指数除以阶乘为item的值

#include <stdio.h>
#include <math.h>
int main()
{
    double item = 0,sum=0,jc;
    int n,i,j,flag=1;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        jc=1;
        for(j=1;j<=i;j++)
            jc *= j;
        item  = pow(2.0,i)/jc;
        sum += flag * item;
        flag *= -1;
    }
    printf("%.2lf",sum);
    return 0;
}