如何用c++产生1-10十个不同的随机数(代码很经典)

转载 2012年04月09日 19:12:01

你要不同的10个数。

你可以设个数组存储已经产生的数

。比如已经产生了第一个数5,

你用rand()生成了又一个5时,比较一下以产生的数发现是5,就跳过,看下一个。总能产生10个不同的随机数。

算法就是,每生成一个数就与原来生成的数比较,如果有相等的就就重新生成一个数,

这样就能保证10个数都不相等了。下面这个程序生成数的范围是0到100:

#include <iostream>

#include <stdlib.h>                        //rand(),srand()函数在这个头文件中
#include <time.h>                         //time(0)在这个头文件中
#define MAX 100
using namespace std;
void main()
{  
    int arr[10];  
    int i=0;
    bool ret=false;  
    srand((unsigned)time(NULL));  
while(1)
 {   
    arr[i]=rand()%MAX+1;  
 
    for(int j=0;j<i;j++)
        
    {      
        if(arr[j]==arr[i])
            
        ret=true;       
    }   
    if(!ret)    
    {      
     i++;     
     ret=false;   
 }   
 if(i==10)
 {     
     break;   
 
 }
 
}  
while(--i)
 {    cout<<arr[i]<<" ";  }
cout<<arr[0]<<endl;

}


 注:产生10个100以内的数字

  for(i=0; i<10; i++)
       printf("%d\n", rand() % 100);
   return 0;
}

C++生成-1到1之间的随机小数

#include #include #include int main(int argc,char *argv[]) {//Type of random number distribution ...
  • u011089927
  • u011089927
  • 2016年11月26日 16:30
  • 1295

随机产生5个从0到10之间不重复的整数

既然是随机,就必然会用到Math.random(),它能随机产生大于等于0,小于等于1的数字。 我们要的是0到10之间的整数,所以我们将它乘10。(Math.random()*10) ...
  • yidengmingmie
  • yidengmingmie
  • 2016年02月24日 11:56
  • 2803

随机生成10个数

生成随即生成十个数的步骤如下:1.打开程序。 2.插入command。 3 .编写程序.   程序如下: Private Sub Command1_Click() Dim a(10) As In...
  • wang1873060
  • wang1873060
  • 2012年05月22日 20:59
  • 114

随机产生十个数并排序

Dim a(1 To 10) As Integer Private Sub Command1_Click()     Form_Load End Sub Private Sub Comma...
  • u011335096
  • u011335096
  • 2016年05月19日 16:46
  • 131

C++产生随机数,每次运行得到的结果不一样

#include "stdafx.h" #include //rand #include//time #include "iostream"//cout using namespace std; ...
  • CKRGD
  • CKRGD
  • 2017年05月19日 11:13
  • 1703

C++中产生1~100的随机数

int GetRandomNumber() { int RandomNumber; srand((unsigned)time(NULL));//time()用系统时间初始化种。为rand()生成不...
  • chenzongduozhu
  • chenzongduozhu
  • 2017年11月04日 20:31
  • 638

c++产生100以内的随机数

主要用到两个函数rand()和srand(). int GetRandomNumber() { int RandomNumber; srand((unsigned)time(NULL));//...
  • pamchen
  • pamchen
  • 2012年07月26日 11:58
  • 6966

js生成0到9,0到10,1到10的随机数

1.使用内置函数方法:    Math.random(); //该方法产生一个0到1之间的浮点数。    延伸:    Math.floor(Math.random()*10+1);...
  • lishangua
  • lishangua
  • 2014年11月03日 11:27
  • 19481

C++连续产生不同的随机数

或许你们都能看得到srand((unsigned)time(NULL));//初始化一个当前时间的种子int _value=rand()%10;//产生一个随机数它是能产生一个0~10的随机数代码. ...
  • smallfishff
  • smallfishff
  • 2007年05月09日 15:29
  • 9488

C/C++——生成随机数

1、不指定范围的随机数在C/C++中,产生随机数需要使用到函数srand()函数和rand()函数。在C语言中,srand()函数和rand()函数都是定义在2、在指定范围内生成随机数2.1、生成在指...
  • google19890102
  • google19890102
  • 2016年10月18日 17:26
  • 1503
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何用c++产生1-10十个不同的随机数(代码很经典)
举报原因:
原因补充:

(最多只允许输入30个字)