C语言求奇数积在你的任务是求出1!!+2!!......+n!!的正确值(n<=20)
时间: 2023-11-27 18:47:51 浏览: 27
以下是C语言求奇数积的代码和解释:
```c
#include <stdio.h>
int main() {
int n, i, j, product = 1, sum = 0;
printf("请输入n的值:");
scanf("%d", &n);
for (i = 1; i <= n; i++) {
int factorial = 1;
for (j = 1; j <= i; j++) {
factorial *= 2 * j - 1;
}
sum += factorial;
}
printf("1!!+2!!+...+%d!!=%d\n", n, sum);
return 0;
}
```
代码解释:
1. 首先,我们需要定义变量n,i,j,product和sum。其中,n表示要求的项数,i表示当前项数,j表示当前项的阶乘,product表示当前项的积,sum表示所有项的和。
2. 然后,我们需要让用户输入n的值。
3. 接下来,我们使用两个for循环来计算每一项的值。外层循环控制项数,内层循环控制阶乘。
4. 在内层循环中,我们需要定义一个变量factorial来保存当前项的阶乘。然后,我们使用一个for循环来计算当前项的阶乘。具体来说,我们从1开始循环到i,每次将2 * j - 1乘到factorial中。
5. 计算完当前项的阶乘后,我们将其加到sum中。
6. 最后,我们输出所有项的和。
相关问题
c语言求1!+2!+3!+...+n!
以下是C语言求1!+2!+3!+...+n!的代码:
```c
#include <stdio.h>
int main() {
int n;
while (scanf("%d", &n) != EOF) {
long long sum = 0, num = 1;
for (int i = 1; i <= n; i++) {
num *= i;
sum += num;
}
printf("%lld\n", sum);
}
return 0;
}
```
该代码使用了for循环来计算1!+2!+3!+...+n!,其中num表示当前的阶乘,sum表示前面所有阶乘的和。在每次循环中,num乘以i,然后加到sum中。最后输出sum即可。
c语言求s=1!+2!+3!+...n!
以下是C语言求s=1!+2!+3!+...n!的代码:
```c
#include <stdio.h>
int main()
{
int n, i, j;
long long fact = 1, sum = 0;
printf("请输入一个正整数:");
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
fact = 1;
for (j = 1; j <= i; j++)
{
fact *= j;
}
sum += fact;
}
printf("1!+2!+3!+...+%d! = %lld\n", n, sum);
return 0;
}
```
运行结果:
```
请输入一个正整数:5
1!+2!+3!+...+5! = 153
```