编写函数fun求1!+2!+3!........+n!的和,在main函数中由键盘输入n值,并输出运算结果。请编写fun函数
时间: 2024-02-22 10:57:43 浏览: 26
好的,根据您的要求,我编写了以下的fun函数代码,可以计算1!+2!+3!+...+n!的和。请参考:
```c
#include <stdio.h>
int factorial(int n) { // 计算n的阶乘
int res = 1;
for (int i = 1; i <= n; i++) {
res *= i;
}
return res;
}
int fun(int n) {
int sum = 0;
for (int i = 1; i <= n; i++) {
sum += factorial(i);
}
return sum;
}
int main() {
int n;
printf("请输入n的值:");
scanf("%d", &n);
int res = fun(n);
printf("1!+2!+3!+...+%d!的和为:%d\n", n, res);
return 0;
}
```
在这个程序中,我们定义了两个函数:factorial和fun。factorial函数用于计算一个数的阶乘,fun函数用于计算1!+2!+3!+...+n!的和。在main函数中,我们通过scanf函数从键盘输入n的值,然后调用fun函数计算结果,并输出到屏幕上。
希望能够帮到您!
相关问题
用函数fun求1!+2!+3!+...+20!的和
函数fun的作用是求n的阶乘,可以使用递归的方式实现。具体实现方法如下:
```c
double fun(int n){
if(n == 0){
return 1;
}
else{
return n * fun(n-1);
}
}
```
在主函数中,可以通过循环调用fun函数来求1!+2!+3!+...+20!的和,具体实现方法如下:
```c
#include <stdio.h>
double fun(int n);
int main(){
int n = 20;
double sum = 0;
for(int i=1; i<=n; i++){
sum += fun(i);
}
printf("1!+2!+3!+...+20!=%lf\n", sum);
return 0;
}
```
功能:编写函数fun求1!+2!+3!+ ...... +n!的和,在main函 函数。
```c
#include <stdio.h>
long factorial(int num) {
if (num == 0 || num == 1) {
return 1;
} else {
return num * factorial(num - 1);
}
}
long fun(int n) {
long sum = 0;
for (int i = 1; i <= n; i++) {
sum += factorial(i);
}
return sum;
}
int main() {
int n;
printf("请输入n的值:");
scanf("%d", &n);
printf("结果为:%ld", fun(n));
return 0;
}
```