定义一个求阶乘的函数。并求S=1!+2!+3!+...+10!
时间: 2023-11-17 11:01:40 浏览: 216
计算 S=1!+2!+3!+...+N! C语言代码
这段代码定义了一个名为fact的函数,用于计算整型变量n的阶乘。在主函数中,用户输入一个正整数n,然后通过for循环计算1到n的阶乘之和,并将结果输出。具体实现过程如下:
```c
#include<stdio.h>
/* 函数功能:用迭代法计算整型变量n的阶乘 */
int fact(int n) {
int i;
long result = 1;
for(i = 2; i <= n; i++) {
result *= i;
}
return result;
}
int main() {
int i, n;
long sum = 0;
printf("输入n(n>0)\n");
scanf("%d", &n);
for(i = 1; i <= n; i++) {
sum += fact(i);
}
printf("sum=%ld\n", sum);
return 0;
}
```
根据题目要求,我们需要计算S=1!+2!+3!+...+10!,因此只需要将for循环中的n改为10即可。
```c
#include<stdio.h>
/* 函数功能:用迭代法计算整型变量n的阶乘 */
int fact(int n) {
int i;
long result = 1;
for(i = 2; i <= n; i++) {
result *= i;
}
return result;
}
int main() {
int i;
long sum = 0;
for(i = 1; i <= 10; i++) {
sum += fact(i);
}
printf("sum=%ld\n", sum);
return 0;
}
```
阅读全文