浙大版《C語言程序設計(第3版)》題目集 習題10-4 遞歸求簡單交錯冪級數的部分和 (15分)

本題要求實現一個函數,計算下列簡單交錯冪級數的部分和:

f(x,n)=x−x​2​​+x​3​​−x​4​​+⋯+(−1)​n−1​​x​n​​

函數接口定義:

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

代碼: 

//遞歸方法
/* 你的代碼將被嵌在這裏 */
double fn( double x, int n )
{
	double f;
	if(n==0)
	{
		f = 0;//特判
	}else if(n==1){
		f = x;//特判
	}else{
		f += pow(-1,n-1)*pow(x,n)+fn(x,n-1);//遞歸調用
	}
	return f;
}
//非遞歸方法
/* 你的代碼將被嵌在這裏 */
double fn( double x, int n )
{
	double f;
	if(n==0)
	{
		f = 0;
	}else if(n==1){
		f = x;
	}else{
		f += pow(-1,n-1)*pow(x,n)+fn(x,n-1);
	}
	return f;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章