| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 831 人关注过本帖
标题:利用递归模拟多重循环(感觉像是回到了汇编时代,另外,这个代码貌似有些bu ...
取消只看楼主 加入收藏
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
结帖率:99.76%
收藏
已结贴  问题点数:100 回复次数:2 
利用递归模拟多重循环(感觉像是回到了汇编时代,另外,这个代码貌似有些bug 没捉到,欢迎帮捉)
程序代码:
#include<stdio.h>


int bs=5;
void prns(int i,int j,int m,int n,int p,int k)
{
    if(k==0) return;   
    if(i==0) 
    {
        i=bs;
        j-=1;
    }
    if(j==0) 
    {
        i=bs;
        j=bs;
        m-=1;
    }
    if(m==0) 
    {
        i=bs;
        j=bs;
        m=bs;
        n-=1;
    }
    if(n==0)
    {
        i=bs;
        j=bs;
        m=bs;
        n=bs;
        p-=1;
    }
    printf("%d%d%d%d%d\n",i,j,m,n,p);
    --k;
    prns(--i,j,m,n,p,k);
}

int main()
{
    prns(5,5,5,5,5,5*5*5*5*5);
    return 0;
}
2015-06-18 15:38
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
以下是引用wmf2014在2015-6-18 16:03:16的发言:

只是一个5位的5进制计数器,设计通用的inc和dec函数,一个循环即可,无需递归。



目的就是递归  哪怕十分麻烦也要用递归  (说到底就是为了玩)  而不是寻求最简代码

DO IT YOURSELF !
2015-06-18 16:08
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
原始代码 大致如此

程序代码:
    int i,j,m,n,p;
    for(i=5;i>=1;i--)
        for(j=5;j>=1;j--)
            for(m=5;m>=1;m--)
                for(n=5;n>=1;n--)
                    for(p=5;p>=1;p--)
                        printf("%1d%1d%1d%1d%1d\n",i,j,m,n,p);

DO IT YOURSELF !
2015-06-18 16:12
快速回复:利用递归模拟多重循环(感觉像是回到了汇编时代,另外,这个代码貌似有 ...
数据加载中...
 
   



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

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