C语言求1到20内奇数的阶乘求和
时间: 2024-11-13 14:23:03 浏览: 11
计算机二级c语言题目+答案解析
在C语言中,我们可以使用循环结构来计算从1到20之间的所有奇数的阶乘之和。首先,我们需要一个函数来计算任意正整数的阶乘,然后遍历这个范围内的奇数,并累加它们的阶乘。
由于阶乘的增长非常快,直接对大数做阶乘可能会导致溢出,所以可以考虑使用long long int类型存储结果以获得更大的数值空间。以下是简单的代码示例:
```c
#include <stdio.h>
#include <math.h>
// 定义计算阶乘的函数
long long factorial(int n) {
if (n == 0 || n == 1)
return 1;
else
return n * factorial(n - 1);
}
int main() {
long long sum = 0;
for (int i = 1; i <= 20; i++) { // 只取奇数
if (i % 2 != 0) {
sum += factorial(i);
}
}
printf("1到20内奇数的阶乘求和为:%lld\n", sum);
return 0;
}
```
在这个程序中,我们首先检查每个数是否为奇数,如果是,则调用`factorial`函数计算它的阶乘并添加到总和`sum`中。最后打印出总和。
阅读全文