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;
}