洗牌算法
//洗牌算法#include <stdio.h>
#define NUM 54
void main()
{
int a[54];
int i,temp,p;
for( i = 0 ; i < NUM ; i++ )
{
a[i] = i + 1;
}
for( i =0 ; i < NUM ; i++ )
{
p = rand()%( NUM - i ) + i; //随机的找一个位置
temp = a[i];
a[i] = a[p];
a[p] = temp;
}
for( i = 0 ; i < NUM ; i++ )
{
printf( "%d ",a[i] );
if( i % 9 == 0 )
{
printf("\n");
}
}
printf( "\n" );
}
不知道为什么总有一个数会自成一排,求教哈。