随机数的完美获得
/****************************
要验证准确性可去掉注释掉的部分
****************************/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define numb1 15
#define numb2 5
/****************************
numb1: 确定要产生多少个连续的随机数
numb2: 对随机数的范围进行平移
****************************/
int main(){
//int f = 0;
//int cq=1000;
int c[numb1] = {0}; /**用来检验随机数是否存在,初始化为零**/
int cnt[numb1] = {0}; /**取出随机数**/
int count =0; /**用来保证取完后,程序结束**/
srand(time(NULL));/**时间种子**/
//while(cq--){
while (1)
{
int r = rand()%numb1; /**产生numb1个随机数,范围是0到numb1-1**/
if (++c[r] > 1)/**若已经有随机数和该数组的编号相同,则重新置数**/
continue;
else
{
cnt[count] = r + numb2; /**cnt安顺序取数
numb确定幅度,或说是平移的角度
**/
printf("%2d ", cnt[count]); /**看数,从零开始**/
if (++count >= numb1) /** 1<+>1**/
break;
}
// }
/** count = 0;
printf("\n");
for(f = 0;f<numb1;f++){
c[f]=0;
}**/
}
return 0;
}
posted on 2016-05-01 10:49 renzhaoyang 阅读(306) 评论(0) 编辑 收藏 举报