C语言用循环结构实现:输入正整数n,计算s=1/2! +1/4! +1/6! +…+1/n!

如题所述

第1个回答  2020-11-20
#include <stdio.h>

int main()
{
int n,i=1,j=1;
double s=0;
//printf("Enter A Integer:\n");
scanf("%d",&n);
/*s=1/2! +1/4! +1/6! ++1/n!*/
for(i;i<=n/2;i++)
{
int f=1;
// printf("i=%d\n",i);
for(j;j<=i*2;j++)
{
// printf("j=%d\n",j);
f*=j;
// printf("f1=%d\n",f);
}
// printf("f2=%d\n f3=%f\n",f,1.0/f);
s+=1.0/f;
j=1;
printf("s1=%f\n",s);
}
printf("%f\n",s);
}本回答被提问者采纳
第2个回答  2020-11-20

第3个回答  2020-11-20
int func1(int n)
{
if(n == 0) return 1;
return n*func(n-1);

}

int num = 0;
double sum = 0;
scanf("%d",&num);
for(int i = 2;i<=num;i++)
{
sum+= 1.0/func1(i);

}
或者:
int num = 0;
double sum = 0;
int n_ = 2;
scanf("%d",&num);
for(int i = 2;i<=num;i++)
{
sum+= 1.0/n_ ;

n_ *= i+1;

}
第4个回答  2020-11-20
int sum=0;
int shu=1;
for(int i=1;i<=5;i++):
{
shu=shu×1/i
sum=sum+shu
}
第5个回答  2020-11-20
double sum =0;
if(n%2 != 0 || n<2)
{pf(重新输入);}
else{
for(int i=2;i<=n;i=i+2)
{long int l=1;
for(int j=1;j<=i;j++)
l = j*l;
}
sum + = 1/l;
}
pf(sum);