您好,登錄后才能下訂單哦!
本篇文章為大家展示了C++中怎么生成不重復的隨機整數,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
具體內容如下
給定正整數的范圍[n,m],生成k個不重復的隨機數字。
IDE是vs013。
#include "stdafx.h"#include <iostream> #include <vector>#include <stdlib.h> #include <time.h>#include<list>using namespace std;int _tmain(int argc, _TCHAR* argv[]){ srand((unsigned)time(NULL)); list<int>::iterator it;//迭代器 list<int> l;//定義鏈表,保存生成的隨機數 int begin, end;//數字范圍 int sum;//隨機數個數 cout << "輸入數字范圍([n,m]):"; cin >>begin>>end; cout << "輸入隨機數個數:"; cin >> sum; if ( (end<0)||(begin<0)||(begin >end)|| (sum>end))//起始范圍必須大于0,且隨機數個數小于等于最大數字范圍 { cout << "范圍錯誤"; cout << endl; system("pause"); return 0; } else { while (l.size() < sum) { l.push_back(rand() % (end - begin + 1) + begin); l.sort();//排序 l.unique();//去除相鄰的重復隨機數中的第一個 } cout << "結果:"; } for (it = l.begin(); it != l.end(); it++) { cout << *it << ' '; } cout << endl; system("pause"); return 0;}
上述內容就是C++中怎么生成不重復的隨機整數,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。