#include<stdio.h>
#define N 3
void main()
{ int i,j,k,n,A[N];
for ( i=0,n=0;i<N;i++ ) { n<<=1; n|=1; } n++;
for ( i=0;i<n;i++ )
{ for ( j=N-1,k=i;j>=0;j-- ) { A[j]=k&1; k>>=1; }
for ( j=0;j<N;j++ ) printf("%d ",A[j]); printf("\n");
}
}
额,我的意思是 比如第一次取数组时A[3]={0,0,0},第二次变成A[3]={0,0,1} 第三次变成A[3]={0,1,1}....等等依次类推,所有可能的排列方式
追答唉,你怎么还没有想明白了,
000不就是0
001不就是1
010不就是2
011不就是3
100不就是4
101不就是5
110不就是6
111不就是7
你把每一位依次输出不久行了啊