首页 > 其他 > 详细

几年前做家教写的C教程(之三专讲了递归和斐波那契)

时间:2014-08-05 00:14:38      阅读:382      评论:0      收藏:0      [点我收藏+]

C语言学习宝典(3)

数组:

一维数组的定义: 类型说明符  数组名[常量表达式]

例如: int  a[10];

说明:(1)数组名的命名规则和变量名相同,遵循标示符命名规则

(2)在定义数组时需要指定数组个数,即数组长度

(3)变量表达式中可以包括常量和符号常量,不能包含变量。

一维数组的应用:  数组名[下标]

一维数组的初始化:(1)在定义数组时对数组元素赋予初值

Int a[10]={0,1,2,3,4,5,6,7,8,9}

(2)可以只给一部分元素赋值

Int a[10]={0,1,2,3,4}

(3)对全部数组元素赋初值时,由于数据的个数已经确定,因此可以不指定数组长度

Int a[]={1,2,3,4}

函数:

函数定义的一般格式:类型标示符 函数名() { 声明部分语句}

函数参数:在定义函数时,函数名后面括号中的变量名称为”形式参数”,在主调函数中调用一个函数时,函数名后面括号中的参数称为”实际参数”

函数调用:要首先声明,要合乎函数的规范

 

例1 有一对兔子,从出生第三个月起每个月都生一对兔子,小兔子长到3个月后又生一对兔子,假设所有兔子不死,问每个月的兔子总数为多少?(Fibonacci问题)

/*****************************

功能:求Fibonacci数

*******************************/

#include <stdio.h>

void main()

{

         long int f1,f2;

         int i;

         f1=1;f2=1;

         for(i=0;i<=20;i++)

         {

                   printf("%12ld  %12ld",f1,f2);

                   if(i%2==0)

                            printf("\n");

                   f1=f1+f2;

                   f2=f2+f1;

         }

}

 

例2 利用数组解决Fibonacci问题

/************************************

  功能:利用数组解决Fibonacci问题

***********************************/

#include <stdio.h

void main()

{

         int i;

         long int f[40]={1,1};

         for(i=2;i<=40;i++)

         {

                   f[i]=f[i-2]+f[i-1];

         }

         for(i=0;i<40;i++)

         {

                   if(i%4==0)

                            printf("\n");

                   printf("%12ld",f[i]);

         }

         printf("\n");

}

 

例2 利用递归函数解决Fibonacci问题

/********************

  功能:利用递归函数调用解决Fibonacci问题

********************/

#include <stdio.h>

void main()

{

         long int Fibonacci(int i);

         long int f;

         int i;

         for(i=1;i<40;i++)

         {

                   f=Fibonacci(i);

                   if(i%4==0)

                            printf("\n");

                   printf("%ld  ",f);

         }

}

long int Fibonacci(int i)

{

         long int f;

         if(i==1||i==2)

                   f=1;

         else

                   f=Fibonacci(i-2)+Fibonacci(i-1);

         return f;

}

几年前做家教写的C教程(之三专讲了递归和斐波那契),布布扣,bubuko.com

几年前做家教写的C教程(之三专讲了递归和斐波那契)

原文:http://www.cnblogs.com/accipiter/p/3891179.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!