编写程序,输入一个正整数n,求下列算式的值。要求定义和调用函数fact(k)计算k的阶乘,
编写程序,输入一个正整数n,求下列算式的值。要求定义和调用函数fact(k)计算k的阶乘,函数返回值的类型是double。1+1/2+....+1/n!输出保留5位小数下...
编写程序,输入一个正整数n,求下列算式的值。要求定义和调用函数fact(k)计算k的阶乘,函数返回值的类型是double。
1+1/2+ .... +1/n!
输出保留5位小数
下面是我写的答案,求大神帮我改改。。
#include<stdio.h>
int main()
{
double sum=0;
int i,n;
scanf("%d",&n);
for(i=1;i<=n;i++){
sum=1/n+sum;
}
printf("sum=%.5lf\n",sum);
return 0;
} 展开
1+1/2+ .... +1/n!
输出保留5位小数
下面是我写的答案,求大神帮我改改。。
#include<stdio.h>
int main()
{
double sum=0;
int i,n;
scanf("%d",&n);
for(i=1;i<=n;i++){
sum=1/n+sum;
}
printf("sum=%.5lf\n",sum);
return 0;
} 展开
5个回答
展开全部
可以这样修改
#include<stdio.h>
double fact(int k)
{
double res = 1.0;
int i;
for(i=2; i<=k; i++)
res *= i;
return res;
}
int main()
{
double sum=0;
int i,n;
scanf("%d",&n);
for(i=1;i<=n;i++){
sum += 1.0/fact(i);
}
printf("sum=%.5lf\n",sum);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
double fact(int k)
{
double res = 1.0;
while (k>=1)
{
res *= k;
k--;
}
return res;
}
int main()
{
double sum=0.0;
int i,n;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
sum+=1.0/fact(i);
}
printf("sum=%.5lf\n",sum);
return 0;
}
double fact(int k)
{
double res = 1.0;
while (k>=1)
{
res *= k;
k--;
}
return res;
}
int main()
{
double sum=0.0;
int i,n;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
sum+=1.0/fact(i);
}
printf("sum=%.5lf\n",sum);
return 0;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
int fact(int k)
{
int s = 1, i;
for (i = 1; i <= k; i )
s *= i;
return s;
}
void main()
{
int i, n;
double sum = 0, q, w;
scanf("%d", &n);
for (i = 1; i <= n; i )
{
q = fact(i);
sum = 1.0/ q;
}
printf("%.5f\n", sum);
}
int fact(int k)
{
int s = 1, i;
for (i = 1; i <= k; i )
s *= i;
return s;
}
void main()
{
int i, n;
double sum = 0, q, w;
scanf("%d", &n);
for (i = 1; i <= n; i )
{
q = fact(i);
sum = 1.0/ q;
}
printf("%.5f\n", sum);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
呃,刚看错题了,mmdeniubi的答案貌似可以
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询