C语言如何实现组合后多条匹配条件过滤输出问题用C语言同时满足下列2个条件就输出源代码(1)假定从1-15这15个数字中任选6个全组合输出(每行输出6个不相同数字,并且从小到大排列)(2)将第一

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 06:44:26
C语言如何实现组合后多条匹配条件过滤输出问题用C语言同时满足下列2个条件就输出源代码(1)假定从1-15这15个数字中任选6个全组合输出(每行输出6个不相同数字,并且从小到大排列)(2)将第一

C语言如何实现组合后多条匹配条件过滤输出问题用C语言同时满足下列2个条件就输出源代码(1)假定从1-15这15个数字中任选6个全组合输出(每行输出6个不相同数字,并且从小到大排列)(2)将第一
C语言如何实现组合后多条匹配条件过滤输出问题
用C语言同时满足下列2个条件就输出源代码
(1)假定从1-15这15个数字中任选6个全组合输出(每行输出6个不相同数字,并且从小到大排列)
(2)将第一问得到数据过滤,当每一行6个数字含有下列9条4码中的2至5条(最少含有2条最多5条)就输出,结果共有62组就正确
01,02,03,06
01,02,03,08
01,02,03,09
02,05,06,08
02,06,07,08
05,06,07,09
06,08,09,10
08,09,10,11
06,07,08,13

C语言如何实现组合后多条匹配条件过滤输出问题用C语言同时满足下列2个条件就输出源代码(1)假定从1-15这15个数字中任选6个全组合输出(每行输出6个不相同数字,并且从小到大排列)(2)将第一
#include <stdio.h>
#include <string.h>

FILE *fp = NULL;

int requirement[9][16];
int num[6];

void init()
{
    memset(requirement,0,sizeof(requirement));
    requirement[0][1] = requirement[0][2] = requirement[0][3] = requirement[0][6] = 1;
    requirement[1][1] = requirement[1][2] = requirement[1][3] = requirement[1][8] = 1;
    requirement[2][1] = requirement[2][2] = requirement[2][3] = requirement[2][9] = 1;
    requirement[3][2] = requirement[3][5] = requirement[3][6] = requirement[3][8] = 1;
    requirement[4][2] = requirement[4][6] = requirement[4][7] = requirement[4][8] = 1;
    requirement[5][5] = requirement[5][6] = requirement[5][7] = requirement[5][9] = 1;
    requirement[6][6] = requirement[6][8] = requirement[6][9] = requirement[6][10] = 1;
    requirement[7][8] = requirement[7][9] = requirement[7][10] = requirement[7][11] = 1;
    requirement[8][6] = requirement[8][7] = requirement[8][8] = requirement[8][13] = 1;
}

int check()
{
    int total = 0,i,tmp,j;
    for(i=0;i<9;i++)
    {
        tmp = 0;
        for(j=0;j<6;j++)
        tmp += requirement[i][ num[j] ];
        if(tmp == 4)
        total++;
    }
    if(total >= 2 && total <= 5)
    return 1;
    return 0;
}

void output()
{
    fprintf( fp , "%02d,%02d,%02d,%02d,%02d,%02d\n" , num[0] , num[1] , num[2] , num[3] , num[4] , num[5] );
}

void dfs(int dep,int lastnum)
{
    if(dep == 6)
    {
        if(check())
        {
            output();
        }
        return ;
    }
    int i;
    for(i=lastnum + 1 ; i<=15;i++)
    {
        num[dep] = i;
        dfs(dep+1,i);
    }
}

int main()
{
    fp = fopen("C://62.txt","w");
    if(fp == NULL)
    {
        printf("open file error!\n");
        return 0;
    }
    init();
    dfs(0,0);
    return 0;
}

 输出:

01,02,03,04,06,08
01,02,03,04,06,09
01,02,03,04,08,09
01,02,03,05,06,08
01,02,03,05,06,09
01,02,03,05,08,09
01,02,03,06,07,08
01,02,03,06,07,09
01,02,03,06,08,09
01,02,03,06,08,10
01,02,03,06,08,11
01,02,03,06,08,12
01,02,03,06,08,13
01,02,03,06,08,14
01,02,03,06,08,15
01,02,03,06,09,10
01,02,03,06,09,11
01,02,03,06,09,12
01,02,03,06,09,13
01,02,03,06,09,14
01,02,03,06,09,15
01,02,03,07,08,09
01,02,03,08,09,10
01,02,03,08,09,11
01,02,03,08,09,12
01,02,03,08,09,13
01,02,03,08,09,14
01,02,03,08,09,15
01,02,05,06,07,08
01,02,06,07,08,13
01,06,08,09,10,11
02,03,05,06,07,08
02,03,06,07,08,13
02,04,05,06,07,08
02,04,06,07,08,13
02,05,06,07,08,09
02,05,06,07,08,10
02,05,06,07,08,11
02,05,06,07,08,12
02,05,06,07,08,13
02,05,06,07,08,14
02,05,06,07,08,15
02,05,06,08,09,10
02,06,07,08,09,10
02,06,07,08,09,13
02,06,07,08,10,13
02,06,07,08,11,13
02,06,07,08,12,13
02,06,07,08,13,14
02,06,07,08,13,15
02,06,08,09,10,11
03,06,08,09,10,11
04,06,08,09,10,11
05,06,07,08,09,10
05,06,07,08,09,13
05,06,08,09,10,11
06,07,08,09,10,11
06,07,08,09,10,13
06,08,09,10,11,12
06,08,09,10,11,13
06,08,09,10,11,14
06,08,09,10,11,15

C语言如何实现组合后多条匹配条件过滤输出问题用C语言同时满足下列2个条件就输出源代码(1)假定从1-15这15个数字中任选6个全组合输出(每行输出6个不相同数字,并且从小到大排列)(2)将第一 VB语言如何实现组合后多条匹配条件过滤输出问题用vb语言同时满足下列2个条件就输出源代码(1)假定从1-15这15个数字中任选6个全组合输出(每行输出6个不相同数字,并且从小到大排列)(2)将第一 C语言如何实现满足多条件匹配简单过滤问题用C语言同时满足下列2个条件就输出源代码(1)假定从1-11这11个数字中任选6个全组合输出(每行输出6个不相同数字,并且从小到大排列)(2)将第一问得 java语言实现满足多条件匹配简单过滤输出问题用java语言同时满足下列2个条件就输出源代码(1)假定从1-11这11个数字中任选6个全组合输出(每行输出6个不相同数字,并且从小到大排列)(2)将第一 C语言如何实现输入10个整数(比如1,2,3...10),并且满足下面两个条件 (1)10个选6全组合输出(2)将奇偶比例设置成3:3类似彩票软件功能例如输入1,2,3,4,5,6,7,8,9,10这十个数选6全组合输出满足条件(1) C语言实现从8选6全组合输出从8选6全组合输出(每组有不同的6个数字组成,且每个数码只能取1~8之间的数)并且满足条件每组中1,2,3中最少有1至2个,高手来啊要有源代码下面输出结果就正确01 C语言如何实现任意输入10个整数,把所有奇数都输出 C语言实现从8选6全组合输出有条件从1,2,3,6,8,9,12,16这8个数字中任取6个全组合输出(每组有不同的6个数字组成)并且满足条件每组中1,2,3,6中最少有1至2个,高手来啊要有源代码下面输出结果就正 数据结构(C) 请用类C语言实现括号匹配的检验这个算法 LOOKUP函数提问我在网上看到以下问题并已有人解答,但我看不明为什么解答者的公式,如何使用LOOKUP函数组合实现两个条件的匹配查找A表:部门 产品 销售额 1 a 1002 b 2003 c 300 B表:部门 产品 预 C语言从8选6全组合过滤相同数字从1,2,3,6,8,9,12,16这8个数字中任取6个全组合输出(每组有不同的6个数字组成)并且满足条件每行中有5个相同数字就过滤,只保留一行例如结果1-2-3-6-8-91-2-3-6-8-121-2 c语言数的输出问题 :如何可以实现计算结果是整数时输出整数,是小数时输出小数,就像一般的计算器一样. c语言实现输出1~100内质数,求思路. C语言如何实现将一个小数点后100位的小数按小数点后99位四舍五入输出99 c语言如何输出下列图案.**** **** **** **** C语言中如何实现大数计算我想用C语言求出2的80次幂,结果用浮点数或整数输出,怎么做. C语言实现9选6奇偶比例从1,3,6,9,11,13,15,18,20这9个数字中选6全组合输出并且满足条件输出每组奇数个数1至3个,要有源代码高手快来结果如下面就正确01-03-06-09-18-2001-03-06-11-18-2001-03-06-13-18-2001-03-0 C语言编程10选6全组合并且满足6个数字和问题用C语言同时满足下列2个条件就输出要有源代码(1)假定从1-10这10个数字中任选6个全组合输出(2)当每行6个数字相加和为50就输出