可以先给89 个数组赋值10 至99然后第一次随机1至89然后取出随机那个数的下标的值,把最后一个赋值给你刚才随机的数字下标,第二次从1至88随机一个数字,依次类推,循环五十次可以得到五十个不相同的。因为手机,没办法给出代码,敬请谅解
用arr1数组把数字存进去,数组长度为变量n,rand()*n取整,这个值就是下标值,从arr1中利用这个下取出值,存到结果数组,删除arr1中被取出的,并且变量n-1,循环直到50个数都取出来
思路如上,具体细节再自己考虑
代码如下:
#include
#include
#include
void main()
{
int i,j;
srand((int)time(0));
for (i=0; i<50; i++)
{
j=1+(int)(100.0*rand()/(RAND_MAX + 10.0));
printf("%d\n", j);
}
}