zoukankan      html  css  js  c++  java
  • 几年前做家教写的C教程(之三专讲了递归和斐波那契)

    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("
    ");
    
                       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("
    ");
    
                       printf("%12ld",f[i]);
    
             }
    
             printf("
    ");
    
    }

    例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("
    ");
    
                       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;
    
    }
  • 相关阅读:
    HTML DOM prompt() 方法
    Zen cart前台英文后台中文(Zen cart后台取消多语言输入的方法)
    Zencart模板结构和设计详解
    给zencart添加一个fckeditor编辑器
    mssql重置表
    Guid与id区别
    zencart五款是必备的插件
    C#使用HTTP头检测网络资源是否有效
    OA系统权限管理设计方案
    C#获取网页http头的方法(附代码)
  • 原文地址:https://www.cnblogs.com/accipiter/p/3891179.html
Copyright © 2011-2022 走看看