用c语言编写一个自定义的递归函数fun(n),该函数的功能是求整数n的阶乘,在主函数main中调用此自定义函数,求解1!+2!+3!+......n!,运行时n由用户从键盘输入,如果输入的不是整数,则屏幕输出“输入非法!请重新输入!”
时间: 2023-09-30 21:01:48 浏览: 22
好的,我可以帮你解决这个问题。以下是代码:
```c
#include <stdio.h>
int fun(int n) {
if (n == 1) {
return 1;
} else {
return n * fun(n - 1);
}
}
int main() {
int n, sum = 0;
printf("请输入一个整数n:");
if (scanf("%d", &n) != 1) {
printf("输入非法!请重新输入!\n");
return 0;
}
for (int i = 1; i <= n; i++) {
sum += fun(i);
}
printf("1! + 2! + ... + %d! = %d\n", n, sum);
return 0;
}
```
首先定义了一个递归函数 `fun(n)`,用于计算整数 n 的阶乘。在主函数 `main` 中,首先要求用户输入一个整数 n,如果输入的不是整数,则输出“输入非法!请重新输入!”并结束程序。如果输入的是整数,则通过循环计算 1! + 2! + ... + n! 的值,最后输出结果。
希望这个代码能够帮到你!
相关问题
用c语言编写一个递归函数,用来实现求n的阶乘,主函数中输入两个整数,求这两个数的阶乘并输出。
好的,以下是用C语言编写的递归函数,实现求n的阶乘:
```c
int factorial(int n) {
if(n == 0 || n == 1) {
return 1;
} else {
return n * factorial(n-1);
}
}
```
在主函数中输入两个整数,调用阶乘函数计算它们的阶乘并输出:
```c
#include <stdio.h>
int factorial(int n);
int main() {
int num1, num2;
printf("请输入两个整数:\n");
scanf("%d %d", &num1, &num2);
printf("%d 的阶乘为:%d\n", num1, factorial(num1));
printf("%d 的阶乘为:%d\n", num2, factorial(num2));
return 0;
}
int factorial(int n) {
if(n == 0 || n == 1) {
return 1;
} else {
return n * factorial(n-1);
}
}
```
C语言编写函数名为fun的函数计算一个整数的阶乘,并在main函数中调用fun函数。要求fun函数使用递归算法。
以下是实现要求的C语言代码:
```
#include <stdio.h>
int fun(int n) {
if (n == 0) { // 0的阶乘为1
return 1;
} else {
return n * fun(n-1); // 递归调用
}
}
int main() {
int n;
printf("请输入一个整数:");
scanf("%d", &n);
printf("%d的阶乘为%d", n, fun(n));
return 0;
}
```
在上述代码中,使用了递归算法实现了一个名为`fun`的函数,该函数接收一个整数`n`作为参数,返回`n`的阶乘。在`main`函数中,首先输入一个整数`n`,然后调用`fun`函数计算`n`的阶乘,最后输出结果。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)