C语言如何实现任意数排列组合,新手求助,急

新手求助,需要实现的情况是这样的:第一组数:1、3、4,7第二组数:2、5、8、10,第三组数:6、9、11、12,要求每组至多任意抽出一个数字组成两个数的所有组合,例如... 新手求助,需要实现的情况是这样的:第一组数:1、3、4,7第二组数:2、5、8、10,第三组数:6、9、11、12,要求每组至多任意抽出一个数字组成两个数的所有组合,例如:1、5或2、11或3、9,用C语言实现,希望能给出个完整的已调试好程序,不甚感谢,给你20分 展开
 我来答
tattackor
2015-06-09 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:875万
展开全部
  1. 求排列组合没有简单方法。方法只有一个,枚举。

  2. 有几个位置需要列举,就需要几个循环。如果循环数量太多,可以用函数递归来枚举。

    例程:

    #include<stdio.h>
    int main(){
        int a[4]={1,3,4,7};        //第一个位置
        int b[4]={2,5,8,10};    //第二个位置
        int c[4]={6,9,11,12};    //第三个位置
        int i,j,k;
        for(i=0;i<4;i++)
        for(j=0;j<4;j++)
        for(k=0;k<4;k++)
           printf("%d %d %d\n,",a[i],b[j],c[k]);//输出一种排列
        getch();
        return 0;
    }
shy2850
2009-05-16 · TA获得超过6774个赞
知道大有可为答主
回答量:2505
采纳率:55%
帮助的人:1573万
展开全部
#include<stdio.h>
main(){
int a[4]={1,3,4,7};
int b[4]={2,5,8,10};
int c[4]={6,9,11,12};
int i,j,n;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{printf("%d&%d\t,",a[i],b[j]);
printf("%d&%d\t,",a[i],c[j]);
printf("%d&%d\t,",b[i],c[j]);
}
getch();
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
youthflies
2009-05-16 · TA获得超过1004个赞
知道小有建树答主
回答量:439
采纳率:0%
帮助的人:485万
展开全部
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int a[3][4]={{1,3,4,7},{2,5,8,10},{6,9,11,12}};
int i,j,x,y;
srand((unsigned)time(NULL));
i=rand()%3;
x=rand()%3;
j=rand()%4;
y=rand()%4;
printf("%d",a[i][j]);
printf(" %d\n",a[x][y]);
return 0;
}

参考资料: 可能因为编译环境的改变产生一些小问题,楼主请自己改正

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chenjunhong120368183
高粉答主

2018-02-12 · 关注我不会让你失望
知道大有可为答主
回答量:2.4万
采纳率:77%
帮助的人:1587万
展开全部
  • 有几个位置需要列举,就需要几个循环。如果循环数量太多,可以用函数递归来枚举。

    例程:

    12345678910111213   #include<stdio.h>int main(){    int a[4]={1,3,4,7};        //第一个位置    int b[4]={2,5,8,10};    //第二个位置    int c[4]={6,9,11,12};    //第三个位置    int i,j,k;    for(i=0;i<4;i++)    for(j=0;j<4;j++)    for(k=0;k<4;k++)       printf("%d %d %d\n,",a[i],b[j],c[k]);//输出一种排列    getch();    return 0;}   

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式