用C语言求斐波那契sn的值
时间: 2024-09-28 17:12:31 浏览: 36
C语言课后习题答案.pdf
在C语言中,计算斐波那契数列的第n项通常使用递归或循环的方式。下面是一个简单的递归函数的例子:
```c
#include <stdio.h>
// 递归计算斐波那契数
int fibonacci(int n) {
if (n <= 1) {
return n; // 基本情况,n为0或1时返回n
}
else {
return fibonacci(n - 1) + fibonacci(n - 2); // 递归调用
}
}
int main() {
int sn;
printf("请输入想要计算的斐波那契序列的位置n: ");
scanf("%d", &sn);
if (sn < 0) {
printf("输入错误,斐波那契序列从0开始,负数位置不存在.\n");
} else {
printf("斐波那契数列的第%d项是: %d\n", sn, fibonacci(sn));
}
return 0;
}
```
这个程序首先检查输入的数值是否有效(非负),然后通过递归调用自身来计算斐波那契数。递归虽然直观,但对于较大的n,效率较低,因为它会重复很多已经计算过的值。
阅读全文