C语言编程实现:定义一个递归函数fun,计算1到n之积(n<=20)。要求如下: (1)主函数的功能是输入n的值,调用fun函数得到1到n之积,最后输出结果; (2)fun()函数定义的位置位于主函数后面; (3)fun()函数必须是递归函数。 (4)若输入的数大于20,则重新输入。
时间: 2023-11-27 14:53:05 浏览: 93
C语言程序设计-计算从1开始到n的自然数中偶数的平方的和,n由键盘输入,并在main()函数中输出。(n是偶数).c
5星 · 资源好评率100%
以下是C语言代码实现:
```c
#include <stdio.h>
int fun(int n) {
if (n == 1) {
return 1;
} else {
return n * fun(n - 1);
}
}
int main() {
int n;
printf("请输入n的值(n<=20):");
scanf("%d", &n);
while (n > 20) {
printf("输入的数大于20,请重新输入:");
scanf("%d", &n);
}
int result = fun(n);
printf("1到%d之积为:%d\n", n, result);
return 0;
}
```
首先,在主函数中输入n的值,并且通过while循环判断输入的数是否大于20,若大于20则重新输入。
然后,调用递归函数fun,计算1到n之积,最后输出结果。
其中,递归函数fun的实现方式是:
- 当n等于1时,返回1;
- 当n大于1时,返回n乘以fun(n-1)的结果。
这里的递归调用就是每次将n减1,直到n等于1为止。
阅读全文