#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int arr[10][3]={0};
void main()
{
srand(time(0));
int test(int o,int p,int q);
int a[5]={1,2,3,4,5},i,j,o,p,q;
for(i=0;i<10;)
{
do
{
o=rand()%5;
p=rand()%5;
q=rand()%5;
if(o>p) {j=o;o=p;p=j;}
if(o>q) {j=o;o=q;q=j;}
if(p>q) {j=p;p=q;q=j;}
}while(test(o,p,q));
printf("组合%d: %d %d %d\n",i+1,a[o],a[p],a[q]);
arr[i][0]=o; arr[i][1]=p; arr[i][2]=q;
i++;
}
}
int test(int o,int p,int q)
{
int i;
if(o==p||o==q||q==p)
return 1;
for(i=0;i<10;i++)
{
if(o==arr[i][0]&&p==arr[i][1]&&q==arr[i][2])
return 1;
}
return 0;
}
是组合,不是全排列,总共有10个吧.
图片附件: 游客没有浏览图片的权限,请
登录 或
注册
[
本帖最后由 qq1023569223 于 2011-1-3 12:59 编辑 ]