| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 326 人关注过本帖
标题:这个组合问题如何解决?
取消只看楼主 加入收藏
NCBC211
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2011-4-6
结帖率:50%
收藏
已结贴  问题点数:10 回复次数:2 
这个组合问题如何解决?
程序代码:
#include<stdio.h>
#include<string.h>

void main()
    {
    int i,j,k,l,m,z;
       char *ptr;
    char str1[5],str2[5];
    for(j=1;j<=6;j++)       
        for(k=j+1;k<=7;k++)
            for(l=k+1;l<=8;l++)
                for(m=l+1;m<=9;m++)
                {
                              
                str1[0]=char(0);str1[1]=char(j);str1[2]=char(k);str1[3]=char(l);str1[4]=char(m);
             printf("%s" ,str1);

                for(int n=0;n<=9;n++)
                    {
                        ptr = strrchr(str1, char(n));
                    if(ptr==NULL)
                        str2[z++]=char(n);
                   
                       
                    }
                              
            }
         //printf("%s" ,str3);
        

    }
求出由0,1,2,3,4,5,6,7,8,9十个字符组成的以0开头的任五个数的组合,成对出现str1 和str2。
2011-04-21 08:59
NCBC211
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2011-4-6
收藏
得分:0 
我是想通过循环实现十个符的任五个的组合。这样的组合是由顺序的数构成的。for(int n=0;n<=9;n++)这个循环是找出四个for 产生组合(以0开头)的另一半。即十个数共有262个不重合数的组合,我是想将其分为252/2=126对组合(每对内无重复字符)。并将它们都转为字符组合。编译时str1 str2 生成的就是不对,不知何故。用strchr函数也是这样。请指教!谢谢!
2011-04-21 10:08
NCBC211
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2011-4-6
收藏
得分:0 
主要目的是成对产生 即第一对是:01234,56789。。。。。。最后一对是:06789,12345。
2011-04-21 10:14
快速回复:这个组合问题如何解决?
数据加载中...
 
   



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

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