C语言输入n,计算1/2、2/3、3/5、5/8、8/13、......的前n项的和
时间: 2024-11-06 19:19:28 浏览: 6
在C语言中,你可以使用循环结构(如`for`或`while`)结合条件判断来计算这个无限序列的前n项和。这个序列实际上是著名的黄金分割数列(Fibonacci sequence)的一个变种,其中每一项都是前两项的比率减去1,直到达到某个定限(这里是2)。为了求解到第n项的和,我们只需计算出前n项并将它们相加。以下是使用`for`循环的一个示例代码:
```c
#include <stdio.h>
double fibonacci_sum(int n) {
double sum = 0;
double first = 1.0 / 2;
double second = 1.0 / 3;
if(n <= 0) {
return 0;
} else if(n == 1) {
return first;
} else {
for(int i = 2; i <= n; i++) {
double next = first + second - 1; // 更新下一个项
sum += next;
first = second;
second = next;
}
return sum;
}
}
int main() {
int n;
printf("Enter the value of n: ");
scanf("%d", &n);
if(n >= 0) {
double result = fibonacci_sum(n);
printf("The sum of the series up to term %d is: %.6f\n", n, result);
} else {
printf("Invalid input! Please enter a non-negative integer.\n");
}
return 0;
}
```
在这个程序中,我们首先初始化`sum`为第一个数1/2,然后在循环内部依次更新`first`和`second`,每次迭代都累加新的值到`sum`上。
阅读全文