函数求值问题
用到递归的思想,求各位大佬解答!求下列函数值:
y(x)=√(n+√((n-1)+√((n-2)+√(…√(2+√(1+x)) ) ) ) )
输入格式:第1行测试数据的组数T(1<=T<=20),后面跟着T行输入。每组测试数据占1行,包括正整数n(1<=n<=200),和一个浮点数x(0<x<100)。
输出格式:T行,每行输出对应一个输入,为所求得的函数值(保留3位小数)。
输入样例:
2
1 3.
20 3.3
输出样例:
2.000
4.987
用一个全局变量 sum 表示总和
把函数设一个参数 n
每次调用函数 n 就减 1 #include <stdio.h>
#include <math.h>
double fun(int n,double x){
double result;
if (n>1)
result=sqrt(n+fun(n-1,x));
else
result=sqrt(1+x);
return result;
}
int main()
{
int T,n,i;
double x;
printf("请输入数据组数T:");
scanf("%d",&T);
double result;
for(i=0;i<T;i++){
printf("请输入第%d组n和x:",i+1);
scanf("%d%lf",&n,&x);
result = fun(n,x);
}
printf("结果是:");
for (i=0;i<T;i++)
printf("%.3lf\n", result);
return 0;
} 谢谢各位大佬的帮助!
页:
[1]