程序设计2:编写函数,求1!+2!+3!+ …+K!的和。使用c语言
时间: 2024-12-23 07:13:34 浏览: 0
技能训练-程序设计基础(C语言课件)
在 C 语言中,你可以编写一个递归函数来计算阶乘并求和。阶乘是一个正整数 n 的所有小于及等于它的正整数的积,表示为 n!。以下是计算 1 到 K 阶乘之和的示例程序:
```c
#include <stdio.h>
// 定义一个递归函数,计算阶乘
unsigned long long factorial(int n) {
if (n == 0 || n == 1)
return 1;
else
return n * factorial(n - 1);
}
// 函数求和
unsigned long long sum_of.factorials(int k) {
unsigned long long sum = 0;
for (int i = 1; i <= k; ++i) {
sum += factorial(i);
}
return sum;
}
int main() {
int k;
printf("Enter a positive integer K: ");
scanf("%d", &k);
// 检查输入是否有效(非负整数)
if (k >= 0) {
unsigned long long result = sum_of.factorials(k);
printf("The sum of factorials from 1 to %d is: %llu\n", k, result);
} else {
printf("Invalid input. Please enter a non-negative integer.\n");
}
return 0;
}
```
在这个程序中,`factorial` 函数负责递归计算阶乘,而 `sum_of.factorials` 函数则用于累加这些阶乘值。
阅读全文