递归求式子和:输人实数x和正整数n,用递归的方法对下列计算式子编写一个函数。
f(x , n) = x - x2 + x3 - x4 + … + (-1) n-1x n (n>0)
试编写相应程序。
#include<stdio.h>
float x_exp_n(float x,int n);
int main(void)
{
int n,i,flag=1;
float x,ret=0;
printf("input x,n:");
scanf("%f %d",&x,&n);
for(i=1;i<=n;i++){
ret += flag*x_exp_n(x,i);
flag = -1*flag;
}
printf("%f",ret);
return 0;
}
float x_exp_n(float x,int n)
{
float ret;
if(n==0)
ret = 1;
else
ret = x*x_exp_n(x,n-1);
return ret;
}
#include <stdio.h> #include <math.h> double f(double x, int n) { if(n==1) return x; return pow(-1,n-1)*pow(x,n)+f(x, n-1); } int main(void) { int n; double x; print f("input x and n: "); scanf("%lf%d", &x, &n); print f("%lf\n", f(x,n)); return 0;