
求S=1/1!+1/2!+1/3!+…+1/N!并输出结果(显示时小数部分占16位)
#includeintmain(void){intn1,i;doubles1,sum;scanf("%d",&n1);sum=0;s1=1;for(i=1;i<=n1;i...
#includeint main(void){ int n1, i; double s1, sum; scanf("%d", &n1); sum = 0; s1 = 1; for (i = 1; i <= n1; i++) { s1 = 1 / (s1 * i); sum = sum + s1; } printf("\nS=1/1!+1/2!+...+1/%d!=%.16f", n1, s1); return 1;}失分[20],未实现:输入数据A时计算基本正确
失分[20],未实现:输入数据A时计算完全正确,数据精度符合要求
失分[25],未实现:输入数据B时计算基本正确
失分[25],未实现:输入数据B时计算完全正确,数据精度符合要求求解答!!! 展开
失分[20],未实现:输入数据A时计算完全正确,数据精度符合要求
失分[25],未实现:输入数据B时计算基本正确
失分[25],未实现:输入数据B时计算完全正确,数据精度符合要求求解答!!! 展开
2个回答
展开全部
#include <stdio.h>
int main(void)
{
int i,j,x;
double n=1,sum=0;
scanf("%d",&x);
for(i=1;i<=x;i++)
{
for(j=1;j<=i;j++)
n*=1/double(j);
sum+=n;
}
printf("\nS=1/1!+1/2!+...+1/%d!=%.12f\n", x,sum);
return 0;
}
追问
for(j=1;j<=i;j++)
n*=1/double(j);
sum+=n;
这些能解释一下么,我是初学者。。
追答
怎么解释啊?
for(i=1;i<=x;i++)
{
for(j=1;j<=i;j++)
{
n*=1/double(j);
}
sum+=n;
}
就是这个意思咯!
2014-03-13
展开全部
阶乘那个你得自己搞个迭代函数啊,用!这个C 不能识别
例如求10!
main()
{
int i=2,n=10;
float fac=1;
if(n==1||n==0)
{
printf("the number is 1\n");
return 0;
}
while(i<=n)
{
fac=fac*i;
i++;
}
printf("the number is %.2f\n",fac);
}
例如求10!
main()
{
int i=2,n=10;
float fac=1;
if(n==1||n==0)
{
printf("the number is 1\n");
return 0;
}
while(i<=n)
{
fac=fac*i;
i++;
}
printf("the number is %.2f\n",fac);
}
追问
美学过什么迭代函数。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询