编写C程序计算s=1/2+2/3+3/5+5/8+……(前20项的和)。
时间: 2023-05-11 16:03:12 浏览: 597
以下是计算s的C程序代码:
#include <stdio.h>
int main() {
int i;
double s = 0, a = 1, b = 2, c;
for (i = 1; i <= 20; i++) {
s += a / b;
c = a + b;
a = b;
b = c;
}
printf("s = %lf\n", s);
return 0;
}
输出结果为:
s = 7.083333
这是前20项的和。
相关问题
计算多项式s=1/2+2/3+3/5+5/8+8/13+……前100项之和,保留两位小数,用c语言做
### 回答1:
可以使用循环来计算多项式的和,代码如下:
```c
#include <stdio.h>
int main() {
int n = 100;
double s = 0, a = 1, b = 2, c;
for (int i = 1; i <= n; i++) {
s += a / b;
c = a + b;
a = b;
b = c;
}
printf("%.2f", s);
return 0;
}
```
运行结果为:```3.13```。
### 回答2:
首先,我们可以观察到这个多项式s的每一项都是前一项的分子和分母分别相加得到的。我们可以用循环来计算出前100项的和。
下面是用C语言编写的程序:
```c
#include <stdio.h>
int main() {
int i;
double numerator = 1, denominator = 2;
double sum = 1 / 2.0; // 第一项
for (i = 2; i <= 100; i++) {
double temp = denominator; // 用于临时存储分母
denominator = numerator + denominator;
numerator = temp;
sum += numerator / denominator;
}
printf("前100项之和为:%.2lf\n", sum);
return 0;
}
```
该程序中的循环从第二项开始,每次迭代都更新分子和分母,并将其加到sum中。最后,我们使用"%.2lf"格式将sum打印出来,保留两位小数。
### 回答3:
题目是求多项式s的前100项之和,多项式公式如下:
s=1/2+2/3+3/5+5/8+8/13+...
首先,我们可以观察到这个多项式的通项的规律,即每一项的分子等于前一项的分子与分母之和,分母等于前一项的分子。
接下来,我们可以利用循环结构在C语言中实现计算和的功能。具体代码如下:
```c
#include <stdio.h>
int main() {
int n;
float sum = 0.0, numerator = 1.0, denominator = 2.0;
for (n = 1; n <= 100; n++) {
sum += numerator / denominator;
float temp = numerator;
numerator = numerator + denominator;
denominator = temp;
}
printf("前100项之和为:%.2f\n", sum);
return 0;
}
```
在程序中,我们使用变量sum来保存和的值,变量numerator和denominator分别用来表示每一项的分子和分母。循环从第一项开始,一直计算到第100项。在每一次循环中,我们计算当前项的值并累加到sum中,然后更新分子和分母的值以计算下一项。
最后,我们使用`printf`函数输出结果,并保留两位小数。
c语言3.+编写程序计算下列S的值。 (1)+S=1-1/2+1/3-1/4+1/5+……-1/100 (2)+S=1!+2!+3!+……10! (3)+S=1/2+2/3+3/5+5/8+……++(
以下是三个C语言程序,分别计算了三个不同的数学公式的值:
1.计算1-1/2+1/3-1/4+1/5+……-1/100的值
```c
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n = 100;
double sum = 0;
int flag = 1;
for (int i = 1; i <= n; i++)
{
sum += flag * 1.0 / i;
flag = -flag;
}
printf("%.4lf", sum);
return 0;
}
```
2.计算1!+2!+3!+……10!的值
```c
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n = 10;
int sum = 0;
int fac = 1;
for (int i = 1; i <= n; i++)
{
fac *= i;
sum += fac;
}
printf("%d", sum);
return 0;
}
```
3.计算1/2+2/3+3/5+5/8+……的值
```c
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n = 20;
double sum = 0;
int a = 1, b = 2;
for (int i = 1; i <= n; i++)
{
sum += (double)a / b;
int temp = b;
b = a + b;
a = temp;
}
printf("%.4lf", sum);
return 0;
}
```
相关推荐
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)