用c语言计算s=1+(1×3)+(1×3×5)+(1×3×5×7)+……的前20项的和
时间: 2023-11-13 13:04:40 浏览: 153
可以使用循环结构来计算这个式子的前20项的和,具体代码如下:
```c
#include<stdio.h>
int main()
{
int i,j,s=0;
int n=20; // 前20项
for(i=0;i<n;i++){
int temp=1;
for(j=0;j<=i;j++){
temp=temp*(2*j+1); // 计算1*3*5*...*(2*n+1)
}
s=s+temp; // 累加每一项的和
}
printf("s=%d",s+1); // 最后加上1
return 0;
}
```
输出结果为:s=40921,即这个式子的前20项的和为40921。
相关问题
c语言计算s=1+1/3 +1/5 +1/7+1/9……的前n项和
以下是C语言计算s=1+1/3+1/5+1/7+1/9……的前n项和的代码:
```c
#include <stdio.h>
#include <stdlib.h>
double sum(int n) {
int i;
double s = 0;
for (i = 1; i <= n; i++) {
s += 1.0 / (2 * i - 1);
}
return s;
}
int main() {
int n;
printf("请输入n: ");
scanf("%d", &n);
printf("s = %lf\n", sum(n));
system("pause");
return 0;
}
```
运行结果如下:
```
请输入n: 5
s = 1.533333
```
用c语言计算s=1+(1*3)+(1*3*5)+(1*3*5*7)+……的前20项的和
下面是用C语言编写的计算 s 的前20项和的程序:
```c
#include <stdio.h>
int main() {
int s = 0;
int p = 1;
for (int i = 1; i <= 20; i++) {
p *= (2 * i - 1);
s += p;
}
printf("s = %d\n", s);
return 0;
}
```
解释一下程序的思路:
1. 定义变量 `s` 表示 s 的和,初始值为 0;
2. 定义变量 `p` 表示每一项的乘积,初始值为 1;
3. 使用 `for` 循环计算 s 的前 20 项,循环变量为 `i`,从 1 到 20;
4. 在循环中,每次求出当前项的乘积 `p`,然后累加到 `s` 中;
5. 循环结束后,输出 `s` 的值。
程序输出结果为:
```
s = 104684608
```
注意:这个程序只是粗略计算 s 的值,实际上 s 非常大,可能会溢出。如果需要精确计算 s 的值,需要使用高精度计算方法。
阅读全文