C语言刷题|题目:输入1 个正整数n,计算 s 的前n项阶乘倒数的和

题目内容输入个正整数n,计算 s 的前n项的和。

s = 1 + 1/2! +....+ 1/n!

方法1:【两次for循环】

double fun(int n)
{
	double s = 1.0,s_ = 1.0;
	int i,m;
	for(i=1;i<=n;i++)
	{
		s_ = 1.0;
		for(m=1;m<=i;m++)
		{
			s_ = s_ * m;
			printf("%lf\n",s_);
		}
		s = s +  (1.0/s_);
	}

	return s;
}
void main()
{
	int n;
	printf("input n:");
	scanf("%d",&n);
	printf("s = %f\n",fun(n));
	system("pause");
}

 方法2:【1次for 循环】

double fun(int n)
{
	double temp = 1;
	double s = 1;
	for(int i=1;i<=n;i++)
	{
		temp /= i;
		s += temp;
	}
	return s;
}
void main()
{
	int n;
	printf("input n:");
	scanf("%d",&n);
	printf("s = %f\n",fun(n));
	system("pause");
}

猜你喜欢

转载自blog.csdn.net/zzztutu/article/details/126365026