您的位置:首页 > 其它

C primer plus 第九章 练习10:

2016-05-30 17:01 253 查看
/*
============================================================================
10、编写并测试一个函数Fibonacci(),在该函数中使用循环代替递归完成斐波那契数列
的计算。
============================================================================
*/

#include <stdio.h>
long Fibonacci(int n);
int main(void)
{
int n;

printf("Please input one integer:  ");
while ((scanf_s("%d", &n)) == 1)
{
printf("%d", Fibonacci(n));
printf("\n");
printf("Please input one integer:  ");
}
return 0;
}

long Fibonacci(int n)
{
int i;
int temp, a, b;
a = 0;
b = 1;

if (n <= 0) printf("请重新输入.");
if (n == 1) return 0;
else if (n == 2) return 1;
else {
for (i = 1;i <= (n-2);i++) {
temp = b;
b += a;
a = temp;
}
return b;
}
}


/*
============================================================================
10、编写并测试一个函数Fibonacci(),在该函数中使用递归完成斐波那契数列的计算。
============================================================================
*/

#include <stdio.h>
long Fibonacci(int n);
int main(void)
{
int n;

printf("Please input one integer:  ");
while ((scanf_s("%d", &n)) == 1)
{
printf("%d", Fibonacci(n));
printf("\n");
printf("Please input one integer:  ");
}
return 0;
}

long Fibonacci(int n)
{
if (n <= 0) printf("请重新输入.");
if (n == 1) return 0;
else if (n == 2) return 1;
else
return Fibonacci(n - 1) + Fibonacci(n - 2);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: