标题:不定层数的循环嵌套?
只看楼主
redice
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:902
专家分:0
注 册:2006-12-11
结帖率:72.73%
 问题点数:0 回复次数:5 
不定层数的循环嵌套?
不定层数的循环嵌套?

for i=0 to 9
   for j=0 to 9
      for k=0 to 9
          'Do SomeThing
      next
   next
next

上面这个循环嵌套的层数是3
如果这个层数在程序设计时是未知的(具体值运行时有用户指定),这该如何实现呢?

或者说如何实现下面这个功能:
用户指位数,程序生成该位数的所有排列组合(每位都是0-9)
例如用户输入3
程序生成的为:
000
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
...
...
999
搜索更多相关主题的帖子: 层数 嵌套 next 位数 程序设计 
2007-12-13 18:27
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
得分:0 
递归去.

倚天照海花无数,流水高山心自知。
2007-12-13 19:55
redice
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:902
专家分:0
注 册:2006-12-11
得分:0 
回复 2# 的帖子
我也知道只有递归了 但具体情况
请明示

鲲鹏数据 - 专业Web数据采集服务提供者
http://www.
2007-12-14 12:37
leeco
Rank: 4
等 级:贵宾
威 望:10
帖 子:1026
专家分:177
注 册:2007-5-10
得分:0 
程序代码:
#include <iostream>
using namespace std; 

void out(int* a,int n)
{
    for(int i=0;i<n;i++){
        printf("%d",a[i]);
    }
    printf("\n");
}    

int x[100],n;
void dfs(int d)
{
    if(d==n){
        out(x,n);
        return;
    }    
    for(int i=0;i<10;i++){
        x[d]=i;
        dfs(d+1);
    }    
}

int main()
{
    while(scanf("%d",&n)!=EOF){
        dfs(0);
    }    
}
2007-12-14 17:06
redice
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:902
专家分:0
注 册:2006-12-11
得分:0 
回复 4# 的帖子
递归真实高深莫测呀

鲲鹏数据 - 专业Web数据采集服务提供者
http://www.
2007-12-14 17:43
redice
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:902
专家分:0
注 册:2006-12-11
得分:0 
回复 4# 的帖子
谢谢你

鲲鹏数据 - 专业Web数据采集服务提供者
http://www.
2007-12-14 17:46



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-192303-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.758901 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved