C语言编写程序,求3!+4!+5!的值。
时间: 2024-02-22 13:55:31 浏览: 72
C语言程序设计-求1-3+5-7+9……-99+101的值。 (运行结果:51)。
5星 · 资源好评率100%
好的,可以使用循环和递归两种方法来求解。我先给您提供一种循环的解法:
```c
#include <stdio.h>
int main()
{
int i, j, n = 5, sum = 0, fact = 1;
for (i = 3; i <= n; ++i) {
fact = 1;
for (j = 1; j <= i; ++j) {
fact *= j;
}
sum += fact;
}
printf("3! + 4! + 5! = %d\n", sum);
return 0;
}
```
这段代码的思路是,使用两个循环,外层循环从3开始循环到5,内层循环计算每个数的阶乘并累加到总和中。阶乘的计算方法是,使用一个变量 fact 记录每个数的阶乘,从1开始乘到当前数。最后输出总和即可。
另外,还有一种递归的解法:
```c
#include <stdio.h>
int factorial(int n)
{
if (n == 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}
int main()
{
int sum = factorial(3) + factorial(4) + factorial(5);
printf("3! + 4! + 5! = %d\n", sum);
return 0;
}
```
这段代码的思路是,使用递归函数 factorial 计算每个数的阶乘,然后将它们相加得到总和。递归函数的实现是,如果当前数为1,则返回1,否则返回当前数乘以它的前一个数的阶乘。最后输出总和即可。
阅读全文