习题10-4 递归求简单交错幂级数的部分和 (15 分)

本题要求实现一个函数,计算下列简单交错幂级数的部分和:

函数接口定义:
double fn( double x, int n );
其中题目保证传入的n是正整数,并且输入输出都在双精度范围内。函数fn应返回上述级数的部分和。建议尝试用递归实现。

裁判测试程序样例:

#include <stdio.h>

double fn( double x, int n );

int main()
{
    double x;
    int n;

    scanf("%lf %d", &x, &n);
    printf("%.2f\n", fn(x,n));

    return 0;
}

/* 你的代码将被嵌在这里 */
输入样例:
0.5 12
输出样例:
0.33
*

能用for循环解决的问题也可以用递归解决只不过客观顺序不一样。


double fn( double x, int n )
{
	double sum=1,flage=1,i;
	if(n==1)
	return x;
	if((n-1)%2==0)
		flage=1;
	else flage=-1;	
	for(i=1;i<=n;i++)
	{
		sum*=x;
	}
	return flage*sum+fn( x, n-1);
}

猜你喜欢

转载自blog.csdn.net/qq_43813373/article/details/86522122