C语言写一个函数求斐波那契数列前n项和代码
时间: 2024-10-23 09:09:57 浏览: 33
在C语言中,我们可以创建一个函数来计算斐波那契数列的前n项和。斐波那契数列是一个典型的递归序列,其中每个数字是前两个数字之和,通常初始化为0、1。下面是一个简单的示例,使用循环而不是递归来提高效率:
```c
#include <stdio.h>
// 函数声明
long long fibonacci_sum(int n);
int main() {
int n;
printf("Enter the number of terms (n): ");
scanf("%d", &n);
// 检查输入是否合法
if(n <= 0) {
printf("Invalid input! Please enter a positive integer.\n");
} else {
long long result = fibonacci_sum(n);
printf("The sum of the first %d Fibonacci numbers is: %lld\n", n, result);
}
return 0;
}
// 计算斐波那契数列前n项和的函数
long long fibonacci_sum(int n) {
long long fib[2] = {0, 1}; // 初始化斐波那契数列的前两项
long long sum = 1; // 初始和为第一项
if (n <= 2) // 前两项相加直接返回
return sum;
for (int i = 3; i <= n; i++) {
fib[i % 2] = fib[(i - 1) % 2] + fib[(i - 2) % 2]; // 根据奇偶交替存储原则
sum += fib[i % 2];
}
return sum;
}
```
阅读全文