编写递归函数求n!,然后调用该函数求1!+2!+3!+ +9!。 #include "stdio.h" float f(int n) { float y; if (n==1||n==0) y=1 ; else (1) ; (2) ; } int main() { float s; int i; (3) ; for(i=1; i<=9; i++) (4) ; printf("%.0f\n",s); }
时间: 2023-11-27 15:54:33 浏览: 39
用递归求1+2+3+...+n的程序
以下是完整代码:
```c
#include "stdio.h"
float f(int n)
{
float y;
if (n==1||n==0) y=1;
else y=n*f(n-1);
return y;
}
int main()
{
float s=0;
int i;
for(i=1; i<=9; i++)
{
s += f(i);
}
printf("%.0f\n",s);
return 0;
}
```
解释如下:
1. 当n等于1或0时,直接返回1。
2. 否则,递归调用f函数,计算n的阶乘。
3. 定义一个变量s存储最终的结果,初始化为0。
4. 循环计算1!到9!,将结果累加到s中。
5. 输出s的值,注意要使用%.0f格式化为整数形式。
6. 返回0表示程序正常结束。
阅读全文