=1){\\若剩...">
论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > C语言程序设计教程
Tag:新手,函数,指针,数据类型,对象,Turbo,入门,运算符,数组,结构,二级,,tc,游戏,试题,问答,编译,视频教程

阶梯问题的递归解法

文章类别:C语言程序设计 | 发表日期:2008-9-24 14:45:46

#include <stdio.h>

#define N 10

int steped[N];
int i=0;

void steping(int n){                                  \\走楼梯
       if(n==0){                                        \\已走完
            for(int j=0;j<i;j++){
                  printf(" %d ",steped[j]);        \\打印
            }
      printf("\n");
      }
      if(n>=1){                                       \\若剩下的阶梯数大等于1
            steped[i++]=1;                         \\迈1个阶梯
            steping(n-1);                             \\走剩下的阶梯
            i--;                                           \\退一个阶梯,寻找其它上法
      }
      if(n>=2){                                       \\若剩下的阶梯数大等于2
            steped[i++]=2;待                      \\迈两个阶梯
            steping(n-2);                            \\走剩下的阶梯
            i--;                                          \\退两个阶梯,寻找其它上法
     }
     if(n>=3){                                      \\同上.....略
           steped[i++]=3;
           steping(n-3);
           i--;
     }
}

void main(){
      int n;
      n=N;
      steping(n);
}

视频教程列表
文章教程搜索
 
C语言程序设计推荐教程
C语言程序设计热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058