c语言求sn=1!+2!+3!+...n!用函数实现
时间: 2023-12-08 07:37:57 浏览: 181
以下是使用函数实现C语言求sn=1!+2!+3!+...n!的代码:
```c
#include <stdio.h>
long int factorial(int num) { // 定义一个计算阶乘的函数
long int result = 1;
for (int i = 1; i <= num; i++) {
result *= i;
}
return result;
}
long int sumFactorial(int n) { // 定义一个计算阶乘和的函数
long int sum = 0;
for (int i = 1; i <= n; i++) {
sum += factorial(i);
}
return sum;
}
int main() {
int n;
printf("请输入n的值:");
scanf("%d", &n);
printf("sn的值为:%ld\n", sumFactorial(n));
return 0;
}
```
相关问题
c语言求sn=1! 2! 3! ...20!c语言求sn=1! 2! 3! ...20!
要在C语言中计算阶乘的累加和 \( S_n = 1! + 2! + 3! + \ldots + 20! \),我们可以使用循环和递归来计算每个阶乘的值,并将其累加到总和中。以下是一个示例代码:
```c
#include <stdio.h>
// 函数声明:计算阶乘
unsigned long long factorial(int n);
int main() {
int i;
unsigned long long sum = 0; // 使用unsigned long long来存储大数
// 计算1!到20!的累加和
for (i = 1; i <= 20; i++) {
sum += factorial(i);
}
printf("Sn = 1! + 2! + 3! + ... + 20! = %llu\n", sum);
return 0;
}
// 计算阶乘的函数
unsigned long long factorial(int n) {
if (n == 0 || n == 1) {
return 1;
}
unsigned long long result = 1;
for (int i = 2; i <= n; i++) {
result *= i;
}
return result;
}
```
在这个程序中:
1. `factorial` 函数用于计算给定整数 `n` 的阶乘。
2. `main` 函数中使用一个 `for` 循环来计算从 1 到 20 的阶乘,并将每个阶乘值累加到 `sum` 变量中。
3. 最后,程序打印出累加和。
注意:由于阶乘值增长得非常快,使用 `unsigned long long` 类型来存储结果,以确保能够存储较大的数值。
利用函数求Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一个数字 C语言
以下是利用函数求Sn=1!+2!+3!+4!+5!+…+n!之值的C语言代码:
```c
#include <stdio.h>
int factorial(int n) { // 定义一个函数用于计算阶乘
int result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
int main() {
int n;
int sum = 0;
printf("请输入一个数字n:");
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
sum += factorial(i);
}
printf("Sn的值为:%d\n", sum);
return 0;
}
```
阅读全文