1. 程式人生 > >如何用c++產生1-10十個不同的隨機數(程式碼很經典)

如何用c++產生1-10十個不同的隨機數(程式碼很經典)

你要不同的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-10不同隨機數程式碼經典

你要不同的10個數。 你可以設個數組儲存已經產生的數 。比如已經產生了第一個數5, 你用rand()生成了又一個5時,比較一下以產生的數發現是5,就跳過,看下一個。總能產生10個不同的隨機數。 演算法就是,每生成一個數就與原來生成的數比較,如果有相等的就就重新生成一個數,

C程式設計,設定兩外部中斷INT0和INT1按鍵,優先順序IP=0x04,即把外部中斷1設定為高階優先順序,外部中斷0為低階優先順序,使外部中斷1巢狀在外部中斷0中。

問題 用C程式設計,設定兩個外部中斷(INT0和INT1)按鍵,優先順序IP=0x04,即把外部中斷1設定為高階優先順序,外部中斷0為低階優先順序,使外部中斷1巢狀在外部中斷0中。 要求:中斷觸發方式為下降沿觸發,按鍵有消抖功能 模擬 程式碼 #include <

C程序中讓兩不同版本的庫共存

lua compile c 原文連接:http://blog.gotocoding.com/archives/875今天有同學提出,如何在一個C程序中讓兩個不同版本的庫共存。首先想到的方案是,把其中一個版本的庫函數全部重命名,比如把每一個函數名都加一個_v2的後綴。人工替換到沒什麽,但是如果函數個

記錄我C語言解的第一方程~

就是很簡單的ax^2+bx+c=0 #include<stdio.h> #include<math.h> void fun(float a, float b, float c) { float x1,x2,d; d=b*b-4*a*

C++編寫小學生隨機道練習題的步驟以及原始碼

程式要求: 設計一個程式,用來實現幫助小學生進行算術運算練習,它具有以下功能: (1) 提供10道加、減、乘、除四種基本算術運算的題目,每道題中的運算元是隨機產生的; (2) 加減是100以內的數;乘除為乘法表裡的;被減數大於減數;除法要求能整除;被乘數小與乘數;(若不合格

知道隨機產生1-7的函式,如何得到隨機產生1-10的函式

題目:http://chaotang0281.iteye.com/blog/1179205       已知有個rand7()的函式,它可以返回1到7之間的隨機自然數,現在請讓利用這個rand7()來構造rand10()使它能 隨機地產生1~10之間的自然數。 想的結果:

c++實現輸入任意兩日期 計算相隔天數

#include <stdio.h> //判斷是瑞年的演算法 bool isleapyear(int y){return ((y % 4 == 0 && y % 100 != 0 )|| y % 400 == 0); } int sum(int

極差問題:c++求解1-10的極差問題的初等解法

1.問題的描述        在黑板上一共有1-10 共10 個數,,進行如下操作:每次擦去其中的兩個數a和b,然後在數列中加入一個數a*b+1,如此下去直至黑板上只有一個數,在所按的操作方式得到的數當中,最大的為max,最小的為min,則該數列的極差定義為M=max-mi

C語言實現判斷兩陣列中是否有相同的元素,有就輸出“有”,沒有則輸出“沒有”

建立兩個陣列,讓第一個陣列中的元素依次與第二個陣列中的元素比較(想讓第一個陣列中的第一個元素與第二個陣列中每個元素比較),若找到相同的,則計數並且計數停止,若計數不為零,則有相同元素,否則沒有。test.c#include<stdio.h> int main()

c語言:給整數比較大小

程式:#include<stdio.h>int main(){int arr[10]={1,22,30,4,51,6,7,81,9,10};int max=0;int i=0;for(i=1

JSP求1~10的階乘

<%@ page language="java" contentType="text/html; charset=UTF-8"     pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HT

C#設計模式之二代理模式Proxy Pattern【結構型】

ride col 安全 .html 使用權 防火墻 一對多 tro 橋接 原文:C#設計模式之十二代理模式(Proxy Pattern)【結構型】一、引言 今天我們要講【結構型】設計模式的第七個模式,也是“結構型”設計模式中的最後一個模式,該模式是【代理模式】,英文名稱

C#設計模式之九策略模式Stragety Pattern【行為型】

多條件 第一次 必須 this 數據傳遞 名稱 面向 div 想要 原文:C#設計模式之十九策略模式(Stragety Pattern)【行為型】一、引言 今天我們開始講“行為型”設計模式的第七個模式,該模式是【策略模式】,英文名稱是:Stragety Pattern。

<C++學習四>陣列未完待續

摘要: 本篇部落格僅作為筆記,如有侵權,請聯絡,立即刪除(網上找部落格學習,然後手記筆記,因紙質筆記不便儲存,所以儲存到網路筆記) 一維陣列:   (1)靜態 int array[100]; //定義了陣列array,並未對陣列進行初始化 int array[100] = {1,2}; //定義並

四周專案1線性表的折半查詢遞迴法

/*Copyright (c) 2015, 煙臺大學計算機與控制工程學院 * All rights reserved. * 檔名稱:H1.cpp * 作者:辛志勐 * 完成日期:2015年12月2日 * 版本號:VC6.0 * 問題描述:線性表的折半查詢(遞迴法) * 輸入描述:無 * 程式輸出:圖

C語言】實現對一個8bit資料unsigned char 型別的指定位例如第n位的置0或者置1操作,並保持其他位不變

請編碼實現以下功能的函式 功能:實現對一個8bit資料(unsigned char 型別)的指定位(例如第n位)的置0或者置1操作,並保持其他位不變。 函式原型:void bit_set(unsigned char *p_data,unsigned char position,int flag)

Windows 10 專業版啟用方法親測有效暫時只可以180天後續更新可以更久的啟用方式

右鍵單擊開始按鈕: 管理員方式執行Powershell,然後依次輸入下面三條命令,回車,會看到三條提示語句。 分別為, slmgr /ipk W269N-WFGWX-YVC9B-4J6C9-T83GX 紅色字型為啟用金鑰 獲取金鑰成功。 slmgr /skms kms.03k

Android studio多渠道打包以及使用不同資源包括icon或者其他圖片等

自己專案需要分渠道打包,且使用不同資源,所以,在百度之後,總結了一下: 利用友盟分渠道打包,首先在manifest裡面加一句: <meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNE

c語言】實現對一個8bit資料unsigned char 型別的指定位例如第n位置0或者置1操作,並保持其他位不變

// 實現對一個8bit資料(unsigned char 型別)的指定位(例如第n位)置0或者置1操作,並保持其他位不變 #include <stdio.h> void bit_set(unsigned char *p_data, unsigned char

醬油帶你cocos2dx3.0完成一款戰棋遊戲 曹操傳地圖製作篇 1

這是醬油第一次寫部落格,所以如果有什麼寫的不好,大家多多海涵啊。那麼廢話就不多說了,直接進入正題吧。 製作一款戰棋遊戲,在醬油看來最大的難度便是 ai的設計以及 實現劇本對遊戲整體的控制,當然啦,這都是比較深的問題了,醬油會放到以後的章節來加以介紹。那麼現在就正式開始打醬油