C 语言范例 - 斐波那契数列
斐波那契数列指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368........
这个数列从第3项开始,每一项都等于前两项之和。
输出指定数量的斐波那契数列
/** * file: main.c * author: 简单教程(www.twle.cn) */ #include <stdio.h> int main() { int i, n, t1 = 0, t2 = 1, nxt_term; printf("输出几项: "); scanf("%d", &n); printf("斐波那契数列: "); for (i = 1; i <= n; ++i) { printf("%d, ", t1); nxt_term = t1 + t2; t1 = t2; t2 = nxt_term; } printf("\n"); return 0; }
运行范例,输出结果如下
$ gcc main.c && ./a.out 输出几项: 10 斐波那契数列: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34,
输出指定数字前的斐波那契数列
/** * file: main.c * author: 简单教程(www.twle.cn) */ #include <stdio.h> int main() { int t1 = 0, t2 = 1, nxt_term = 0, n; printf("输入一个正数: "); scanf("%d", &n); // 显示前两项 printf("斐波那契数列: %d, %d, ", t1, t2); nxt_term = t1 + t2; while( nxt_term <= n) { printf("%d, ",nxt_term); t1 = t2; t2 = nxt_term; nxt_term = t1 + t2; } printf("\n"); return 0; }
编译运行范例,输出结果如下
$ gcc main.c && ./a.out 输入一个正数: 10 斐波那契数列: 0, 1, 1, 2, 3, 5, 8,