c语言编程实现:定义一个递归函数fun,计算1到n之积(n<=20)。要求如下: (1)主函数的功能是输入n的值,调用fun函数得到1-n之积,最后输出结果; (2)fun()函数定义的位置位于主函数后面; (3)fun()函数必须是递归函数。 (4)若输入的数大于20,则重新输入。
时间: 2023-11-27 16:54:04 浏览: 60
编程实现计算:1!+2!+3!+……+N!的值,要求定义并调用函数计算N!。
5星 · 资源好评率100%
下面是实现代码:
```c
#include <stdio.h>
int fun(int n);
int main() {
int n;
do {
printf("请输入n的值(n<=20):");
scanf("%d", &n);
} while (n > 20);
int result = fun(n);
printf("1到%d之积为:%d\n", n, result);
return 0;
}
int fun(int n) {
if (n == 1) {
return 1;
} else {
return n * fun(n - 1);
}
}
```
首先在主函数中输入n的值,并且通过do-while循环判断输入的n是否小于等于20。如果n大于20,则重新输入。
接着调用递归函数fun()计算1到n之积,最后输出结果。
在递归函数fun()中,如果n等于1,则直接返回1。否则,递归调用fun()函数计算n-1的结果,并将n与结果相乘,得到1到n之积。
阅读全文