求C语言编程 计算:sum=1-1⼀2!+1⼀3!-1⼀4!+ …… -1⼀10!

2024-12-04 06:02:06
推荐回答(5个)
回答1:

自己看一下,,好久不自己编啦

#include

void main()

{    double sum=0.0,i,t=1;

       int s=1;

   

 for(i=1.0;i<=10.0;i++)

 {

       t*=i;

    sum+=s/t;

       s=-s;

 }

 printf("%f",sum);

}

回答2:

int main() {
double sum=0.0;
int i;
// 迭代,sum=0,然后10是偶数所以加-1.0,再除以10,此时sum=-1/10
// 9是奇数,所以加1.0,得sum=-1/10+1,再除以9,此时sum=1/9 - 1/10/9
// 8是奇数,所以加-1.0,得sum=-1/10/9+1/9-1,再除以8,此时sum=-1/8 + 1/9/8 - 1/10/9/8
// ......
// 最后有 sum=1-1/2!+1/3!-1/4!+ …… -1/10!
for(i=10;i>0;i--) {
sum+=(i%2==0)?-1.0:1.0;
sum/=i;
}
printf("sum = %f\n",sum);
return 0;
}

回答3:

#include

void main(void)
{
double sum =1.0,t = 1.0;
int n = 1;
while(++n <= 10)
{
t *= (-1) *1.0 / n;
sum += t;

}
printf("%.2lf",sum);
}

可以根据需要控制输出结果的小数点的位数,我保留了两位小数

回答4:

#inlclude
#define N 10

//计算N的阶层的值
int rank(int n)
{
int i,sum;
for(i=1;i<=n;i++)
sum*=i;
return sum;
}

void main()
{
int s=0,flag=0,i;
for(i=1;i<=N;i++)
{
if(flag==0)
{
s+=1/(rank(i));
flag=1;
}
else
{
s-=1/(rank(i));
flag=0;
}
}
printf("计算结果为:%d\n",s);
}
自己直接在百度上面写的,没有编译,应该是这样吧!!

回答5:

int jc(int i)
{
int a,b =1;
for(a=1;a<=i;a++)
{
b = b x a ;
}
return b;
}
void main()
{
int s,i ,l =0,sum =0;
for(i = 1 ; i<=10 ; i ++)
{
s = jc(i);
if(l == 0 )
{
sum = sum + 1/s ;
}
else
{
sum = sum - 1/s ;
}
}
printf("%d\n",sum);
}