计算多项式s=1/2+2/3+3/5+5/8+8/13+……前100项之和,保留两位小数,用c语言做
时间: 2023-09-10 10:05:55 浏览: 70
### 回答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`函数输出结果,并保留两位小数。