

/*
函数功能:
生成数字1到数字n(数组长度)
数组元素随机排列且互不重复
/互不重复随机数生成
*/
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int setRdom(int arr[],int arrLen);
int main()
{
int arr[9]={0,1,2,3,4};
setRdom(arr,9);
printf("\n数字1到数字%-3d互不重复随机排序\n调用后数组arr元素变成\n",sizeof(arr)/sizeof(int));
for(int i=0;i<9;i++)
{
printf("%-5.2d",arr[i]);
}
getchar();
return 0;
}
int setRdom(int arr[],int arrLen)
{
srand((unsigned)time(NULL));
int *p_arr=arr;
int len=arrLen;
int n=0;
while(n<len)
{
int m=rand()%len+1;
int flag=0;
for(int j=0;j<n+1;j++)
{
if(*(p_arr+j)==m)
{
flag=1;
break;
}
}
if(flag==0)
{
*(p_arr+n)=m;
n++;
}
}
return 0;
}