|
发表于 2022-9-28 22:53:55
|
显示全部楼层
本帖最后由 jackz007 于 2022-9-28 22:58 编辑
- #include <stdio.h>
- int fib(int n)
- {
- return (n < 3) ? 1 : fib(n - 1) + fib(n - 2) ;
- }
- int main(void)
- {
- int d[50] , i , n ;
- printf("你想知道斐波那契数列前几项 (1 <= n <= 46) : ") ;
- scanf("%d" , & n) ;
- for(i = 1 ; i < n + 1 ; i ++) d[i - 1] = fib(i) ;
- for(i = 0 ; i < n ; i ++) {
- if(i % 5) printf(" , " , d[i]) ;
- if(i && ! (i % 5)) printf("\n") ;
- printf("%10d" , d[i]) ;
- }
- printf("\n") ;
- }
复制代码
编译、运行实况:
- D:\[00.Exerciese.2022]\C>g++ -o x x.c
- D:\[00.Exerciese.2022]\C>x
- 你想知道斐波那契数列前几项 (1 <= n <= 46) : 35
- 1 , 1 , 2 , 3 , 5
- 8 , 13 , 21 , 34 , 55
- 89 , 144 , 233 , 377 , 610
- 987 , 1597 , 2584 , 4181 , 6765
- 10946 , 17711 , 28657 , 46368 , 75025
- 121393 , 196418 , 317811 , 514229 , 832040
- 1346269 , 2178309 , 3524578 , 5702887 , 9227465
- D:\[00.Exerciese.2022]\C>
复制代码 |
|