用c语言编写代码 利用指针设计求费波那契数列求前 20 项和的函数。
时间: 2024-05-14 10:15:52 浏览: 112
好的,以下是利用指针设计求前20项斐波那契数列和的代码:
```c
#include <stdio.h>
int fib_sum(int n);
int main()
{
int n = 20;
int result = fib_sum(n);
printf("斐波那契数列前20项的和为:%d\n", result);
return 0;
}
int fib_sum(int n)
{
int fibonacci[n];
int sum = 0;
int *p = fibonacci;
*(p++) = 1;
*(p++) = 1;
for(int i = 2; i < n; i++)
{
*(p++) = *(p - 1) + *(p - 2);
}
for(int i = 0; i < n; i++)
{
sum += fibonacci[i];
}
return sum;
}
```
只需调用 `fib_sum(20)` 即可输出前20项斐波那契数列的和。
相关问题
用c语言编写代码 利用指针设计求费波那契数列求前 20 项和的函数
好的,这是一个关于指针的经典示例题目。下面是C语言代码实现:
```c
#include<stdio.h>
void fibonacci(int n, int *sum); // 函数声明
int main()
{
int sum = 0;
fibonacci(20, &sum); // 调用函数
printf("前20项斐波那契数列的和为:%d", sum);
return 0;
}
void fibonacci(int n, int *sum)
{
int i, a = 0, b = 1, next;
for(i = 1; i <= n; i++)
{
next = a + b;
*sum += next; // 将每一项加到总和中
a = b;
b = next;
}
}
```
上述代码使用了指针变量`sum`,通过传入的指针改变了实参`sum`的值,实现了求前20项斐波那契数列和的功能。
希望这个回答能够解决你的问题。如果你还有其他问题,欢迎再次提出。
用c语言编写程序 利用指针设计求费波那契数列求前 20 项和的函数。
好的,我可以回答你的问题。下面是一种用指针设计求费波那契数列前 20 项和的 c 语言程序:
```c
#include <stdio.h>
void fibonacci(int num, int* fib)
{
fib[0] = 0;
fib[1] = 1;
for (int i = 2; i < num; i++)
{
fib[i] = fib[i-1] + fib[i-2];
}
}
int fibonacci_sum(int num)
{
int fib[num];
fibonacci(num, fib);
int sum = 0;
for (int i = 0; i < num; i++)
{
sum += fib[i];
}
return sum;
}
int main()
{
int num = 20;
int sum = fibonacci_sum(num);
printf("The sum of the first %d Fibonacci numbers is: %d\n", num, sum);
return 0;
}
```
我们定义了两个函数:`fibonacci()` 用来计算前 num 个费波那契数列,存储在一个名为 fib 的数组中;`fibonacci_sum()` 用来计算前 num 个费波那契数列的总和。最后,在程序中调用 `fibonacci_sum()` 函数并打印结果。
希望能够帮到你!
阅读全文