c语言编程1. 有一分数序列:2/1,-3/2,5/3,-8/5,13/8,-21/13,…, 由用户输入项目数N,求这个数列的前N 项之和 例如: 输入:20 输出:0.58 注意:定义分子分母时,用浮点型,输出结果保持2位小数
时间: 2023-10-30 17:07:25 浏览: 72
python 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和 (示例)
5星 · 资源好评率100%
以下是该题的C语言代码实现:
```c
#include <stdio.h>
int main() {
int n, i;
float numerator = 2, denominator = 1, sum = 0, temp; // 初始化分子为2,分母为1,和为0
printf("请输入项目数N:");
scanf("%d", &n);
for(i = 1; i <= n; i++) {
sum += numerator / denominator; // 计算每一项的值并累加到总和中
temp = numerator; // 临时存储分子的值
numerator = -numerator + denominator; // 求出下一项的分子
denominator = temp; // 下一项的分母为当前项的分子
}
printf("前%d项之和为:%0.2f\n", n, sum);
return 0;
}
```
代码逻辑如下:
1. 首先定义分子、分母和总和的初始值;
2. 然后通过 `scanf` 函数获取用户输入的项数 `n`;
3. 进入循环,计算每一项的值并累加到总和中。具体计算方法为,每一项的分子为上一项的分母,分母为上一项的分子加上上一项的分母的绝对值,符号为交替出现的正负号;
4. 循环结束后,输出前 `n` 项之和。
需要注意的是,在输出时要保留两位小数,可以使用 `%0.2f` 格式化输出。
阅读全文