c语言中的递归思想 求根号n+根号(n-1)+根号(n-2)+...+根号1+x;(加号在根号里面)

2024-11-07 05:13:59
推荐回答(2个)
回答1:

fac 里面x没有赋值

回答2:

# include
# include
int x; //定义全局变量x
int main()
{
float fac (int n); //声明一个变量float
int n, x;
float f;

printf("input n and n and x: \n"); //提示输入x 和n 的值
scanf("%d%d", &n, &x); //对n 和 x赋值

f = fac(n); //调用fac函数,求出这个公式的值

printf("f(x,n) = %6.2f\n", f); //输出结果,精度为6.2

return 0;
}
float fac (int n)
{
float f; 定义一个局部变量f

if (n == 1) //如果n==1
f = sqrt(1+x);
else //否则n不等于1, 就运行先的代码
f = sqrt(n + fac(n-1)); //进行递归运算,不懂可以带几个数进去试一试
return (f); //把f作为函数的返回值待会到main函数
}
这就是我的答案,是正确的,希望兄弟们加油