首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

小弟我想产生100个不重复的随机数不知道这个代码对不对,给小弟我分析下

2012-02-29 
我想产生100个不重复的随机数不知道这个代码对不对,给我分析下我想产生100个不重复的随机数不知道这个代码

我想产生100个不重复的随机数不知道这个代码对不对,给我分析下
我想产生100个不重复的随机数不知道这个代码对不对,给我分析下.
还有就是怎么给分给回答我的问题的各位,我是新手,谢谢帮助

#include <iostream.h>
#include <time.h>
#include <stdlib.h>

void   main()
{   int   i;
int   a[100];
srand((unsigned)   time(NULL));
for(i=0;i <100;i++)


a[i]=rand()%10000+1;
for(i=0;i <100;i++)
{if(a[i]!=a[i+1])
cout < <a[i] < <endl;
else
a[i+1]=rand()%10000+1;

}

}

[解决办法]
srand( (unsigned)time(NULL) );//随机产生一个rand()函数的初始值
int x=rand();
a=(int)x%(max-min+1)+min;//随机数的范围[max,min]
printf( "%d ",a);


1~100内随机数即为:
srand((unsigned)time(NULL));
int a=rand()%100+1;
[解决办法]
int a[100]={0};
int n=0,rd;
do {
Loop:
rd = rand();
for(int i=0;i <n;i++)
if(a[i]==rd)goto Loop;
a[n++]=rd;}while(n <100);
[解决办法]
呵呵,100个看错100以内了。。。
这个循环好像判断有点小问题,试试这个:
for(i=0;i <100;i++)
a[i]=rand()%10000+1;
for(i=0;i <100;)
{
if(a[i]!=a[i+1])
{
cout < <a[i] < <endl;
i++;
}
else
a[i+1]=rand()%10000+1;

}

热点排行