| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 484 人关注过本帖, 1 人收藏
标题:一个程序,看不懂,谁帮我详细解释下 啊
只看楼主 加入收藏
b465513006
Rank: 2
等 级:论坛游民
威 望:1
帖 子:70
专家分:48
注 册:2011-3-18
结帖率:73.33%
收藏(1)
已结贴  问题点数:8 回复次数:3 
一个程序,看不懂,谁帮我详细解释下 啊
#include<stdio.h>
#include<string>

char ch[15][12];
char mx[560];
char tmp[560];
char flag ;
int val[15],n;
void fun(int pos)
{
    if(pos==n)
    {
        tmp[0]=0;
        for(int i=0;i<pos;i++)
          strcat(tmp,ch[val[i]]);
        if(strcmp(tmp,mx)>0)
            strcpy(mx,tmp);
        return;
    }
    for(int i=0;i<n;i++)
    {
            flag=0;
            for(int j=0;j<pos;j++)
                if(i==val[j])
                    flag=1;
   
            if( flag==0)
            {
                val[pos]=i;
                fun(pos+1);
            }
    }
   
        
}

int main()
{
    while(scanf("%d",&n)>0)
    {
        for(int i=0;i<n;i++)
            scanf("%s",ch[i]);
        mx[0]=0;
        fun(0);
        printf("%s\n",mx);
    }
    return 0;
}

        
2011-07-10 12:26
zxq3493
Rank: 1
等 级:新手上路
帖 子:10
专家分:4
注 册:2011-7-10
收藏
得分:4 
程序的功能好像是根据选择的数字,把敲入的多个字符串按不同顺序连接起来。
2011-07-11 17:02
b465513006
Rank: 2
等 级:论坛游民
威 望:1
帖 子:70
专家分:48
注 册:2011-3-18
收藏
得分:0 
是把所给的字符连接起来,连接起来后的字符字典数位最大,但是我不知道是怎么实现的,哪位大侠懂的给我解释下 啊
2011-07-12 18:07
菜鸟auto
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:58
专家分:100
注 册:2010-7-23
收藏
得分:4 
 if( flag==0)
            {
                val[pos]=i;
                fun(pos+1);
            }
要递归调用函数fun()。本人对递归比较头晕
2011-07-12 19:55
快速回复:一个程序,看不懂,谁帮我详细解释下 啊
数据加载中...
 
   



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

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