为了账号安全,请及时绑定邮箱和手机立即绑定

C语言求阶乘问题,找大神

C语言求阶乘问题,找大神

C
满天星17 2016-11-20 14:31:56
输入一个正整数r,做r次下面的运算: 输入1个正整数n,求s的前n项和,s=1/1!+2/2!+3/3!+...n/n!
查看完整描述

3 回答

已采纳
?
这都不会

TA贡献72条经验 获得超92个赞

#include<stdio.h>
int main() {
	float sum = 0;
	int i, j, n, fact;
	scanf("%d", &n);
	for(i = 1; i <= n; i++) {
		fact = 1;
		for(j = i; j > 0; j--) {
			fact *= j;
		}
		sum += (1.0 * i)/fact;
	}
	printf("%f", sum);
	return 0;
}


查看完整回答
1 反对 回复 2016-11-20
?
望远

TA贡献1017条经验 获得超1032个赞

#include<stdio.h>
void main()
{
	int n,m,sum;
	double result;
	printf("请输入你要测试的数据组数:");
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
	{
		sum=1;
		result=0;
		printf("请输入第%d组测试数据:",i);
		scanf("%d",&m);
		for(int j=1;j<=m;j++)
		{
			sum=sum*j;
			result=result+1.0/sum;
			printf("1/%d!+",j);
		}

		printf("\b=%.4lf\n",result);
	}
}

//img1.sycdn.imooc.com//58315b2f00015d9204110158.jpg

查看完整回答
2 反对 回复 2016-11-20
?
满天星17

TA贡献8条经验 获得超1个赞

多谢!我已经会了,程序如下: #include<stdio.h> int main() { int a,b,sum; int repeat,i; float s=0,t=0; scanf("%d",&repeat); for(a=0;a<repeat;a++) { scanf("%d",&b); sum=1; for(i=1;i<=b;i++) { sum*=i; s=1.0/sum; t+=s; } printf("%f\n",t); } return 0; }
查看完整回答
反对 回复 2016-11-20
  • 3 回答
  • 1 关注
  • 1259 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信