c语言代码有一分数序列:2/1,-3/2,5/3,-8/5,13/8,-21/13,…, 由用户输入项目数N,求这个数列的前N 项之和 例如: 输入:20 输出:0.58 注意:定义分子分母时,用浮点型,输出结果保持2位小数
时间: 2023-10-31 22:04:36 浏览: 33
以下是使用C语言实现的代码:
```c
#include <stdio.h>
int main() {
int n;
float numerator = 2, denominator = 1, sum = 0, temp;
printf("请输入项目数N:");
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
sum += numerator / denominator;
temp = numerator;
numerator = -numerator + denominator;
denominator = temp;
}
printf("前%d项之和为:%.2f\n", n, sum);
return 0;
}
```
代码思路:
1. 用户输入项目数N;
2. 定义浮点型变量numerator和denominator分别表示分数序列中第一个数的分子和分母;
3. 定义浮点型变量sum表示前N项之和,初始值为0;
4. 使用for循环遍历每一项,每次将分数加入到sum中;
5. 计算下一个分数的分子和分母,用temp变量保存当前分子,然后更新numerator和denominator;
6. 循环结束后,输出前N项之和。
注意事项:
1. 在计算下一个分数的分子和分母时,我们可以利用当前分数的分子和分母来计算。具体来说,下一个分数的分子为当前分数的分母的相反数加上当前分数的分子,下一个分数的分母为当前分数的分子。
2. 在输出结果时,使用“%.2f”可以保留两位小数。