c语言编写函数求 Sn=1!+2!+3!+4!+5!+...+n! 的值
时间: 2023-11-26 13:04:35 浏览: 109
以下是C语言编写函数求Sn=1!+2!+3!+4!+5!+...+n!的值的代码:
```c
#include <stdio.h>
int fun(int x) {
if (x == 0) return 1;
return x * fun(x - 1);
}
int main() {
int n, sum = 0;
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
sum += fun(i);
}
printf("%d", sum);
return 0;
}
```
相关问题
用C语言写 :求Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一个数字(n不超过20)。 输入格式 n 输出格式 Sn的值
要计算Sn=1!+2!+3!+4!+5!+…n!的值,可以使用循环结构和递归函数来实现。以下是用C语言编写的示例:
```c
#include <stdio.h>
// 计算阶乘的递归函数
int factorial(int n) {
if (n == 0 || n == 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}
int main() int n;
int sum = 0;
printf("请输入一个数字n(n不", &n);
for (int i = 1; i <= n; i++) {
sum += factorial(i);
}
printf("Sn的值为:%d\n", sum);
return 0;
}
```
输入格式:
```
n
```
输出格式:
```
Sn的值
```
帮我编写一个C语言代码,通过函数求 Sn=1!+2!+3!+4!+5!+…+n! 之值,其中 n 是一个数字,由键盘输入
好的,以下是求 Sn=1!+2!+3!+4!+5!+…+n! 的 C 语言代码:
```c
#include <stdio.h>
int factorial(int n) {
if (n == 0) {
return 1;
} else {
return n * factorial(n-1);
}
}
int sum_of_factorials(int n) {
int sum = 0;
for (int i = 1; i <= n; i++) {
sum += factorial(i);
}
return sum;
}
int main() {
int n;
printf("请输入一个数字:");
scanf("%d", &n);
printf("Sn的值为:%d\n", sum_of_factorials(n));
return 0;
}
```
代码中也分为两个函数:`factorial`函数用于计算阶乘,`sum_of_factorials`函数用于计算 Sn 的值。首先从键盘输入一个数字 n,然后调用 `sum_of_factorials` 函数计算 Sn 的值,并打印输出结果。
阅读全文