读书人

排列有关问题

发布时间: 2012-03-24 14:00:46 作者: rapoo

排列问题
已知ABCDEFG七个球,求任取其中四个求的所有组合。用C语言实现。请大家帮帮忙。

[解决办法]

srand(time(0));
char array[7]={ 'A ', 'B ', 'C ', 'D ', 'E ', 'F ', 'G '};
char test[4];
bool mark[4];
for(int i=0;i <4;i++)
test[i]=true;
int flag=1;
for(int i=0;i <4;i++)
{
while(flag)
{
int temp=rand()%7;
if(mark[temp])
{
flag=false;
test[i]=array[temp];
mark[temp]=false;
}

}
for(int i=0;i <4;i++)
printf( "%c ",test[i]);
[解决办法]
# include <stdio.h>
# define MAXN 100
int a[MAXN];
void comb(int m,int k)
{ int i,j;
for (i=m;i> =k;i--)
{ a[k]=i;
if (k> 1)
comb(i-1,k-1);
else
{ for (j=a[0];j> 0;j--)
printf( "%4d ",a[j]);
printf( "\n ");
}
}
}

void main()
{ a[0]=4;
comb(7,4);
}
1234567 代表 abcdefg

读书人网 >C语言

热点推荐