c语言彩票项目

补充:

楼主,我的算法你根本没看懂,我保证不会有重号。

我的算法是这样的:先把1~64排序写成一个序列,然后遍历一次,每次随机找个地方和它交换,达到随机排列的效果。

这是一个很常用的生成随机排列的算法,是一个很基础很简单的程序,不会错。

不信你就跑一跑看结果是不是重复~ ~ ~

我知道你理解的是另一种算法,随机产生一个数然后判断是否出现过然后填入数组。我的算法时间复杂度为O(n),是比你理解的更高效的生成随机序列的算法。好好学习~

=====================================

楼上的baiddd程序是错误的。

楼主要的是随机数。你的程序能生成随机数吗?

Rand()一般用于生成随机数。

下面是我的程序,楼主可以运行看看,生成一个1到64的随机数组。

# include & ltstdio.h & gt

# include & lttime.h & gt

# include & ltstdlib.h & gt

int main()

{

字符编号[64];

int I;

int a,tmp

for(I = 0;我& lt64;i++)num[I]= I+1;

srand(time(0));

for(I = 0;我& lt64;i++)

{

a = rand()% 64;

tmp = num[I];

数字[I]=数字[a];

num[a]= tmp;

}

for(I = 0;我& lt64;i++) printf("%d ",num[I]);

printf(" \ n ");

返回0;

}