国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C++抽獎程序實現方法

2020-05-23 14:19:31
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了C++抽獎程序實現方法,實例分析了C++隨機數的生成技巧與抽獎程序的實現方法,需要的朋友可以參考下
 

本文實例講述了C++抽獎程序實現方法。分享給大家供大家參考。具體實現方法如下:

一、int rand()可以生成從[0, 65536)之間均勻分布的隨機數。

現要求實現:有30萬員工,使用rand()寫一個抽獎程序,抽出人100獲獎。
 

  1. #include <iostream>  
  2. #include <set>  
  3. using namespace std;  
  4. typedef set<int> ISET;  
  5. ISET GetPridePersonId(const int num, const int pride_num)  
  6. {    
  7.   int id;  
  8.   ISET iset;    
  9.   while (1) {  
  10.      id = (int)((double)rand() / RAND_MAX * num) % (num - 1);  
  11.      if (iset.find(id) == iset.end()) {  
  12.        iset.insert(id);  
  13.      }  
  14.      if (iset.size() >= pride_num) {  
  15.        break;  
  16.      }       
  17.    }     
  18.    return iset;  
  19. }  
  20. void print(ISET &iset)  
  21. {  
  22.   ISET::iterator iter;  
  23.   cout<<"item as :/n";  
  24.   for (iter = iset.begin(); iter != iset.end(); ++ iter) {  
  25.     cout<<*iter<<"/n";  
  26.   }  
  27. }  
  28. int main(int argc, char **argv)   
  29. {  
  30.   const int total_person = 300000;  
  31.   const int total_pride_person = 100;  
  32.   ISET iset = GetPridePersonId(total_person, total_pride_person);  
  33.   print(iset);  
  34.   return 0;  
  35. }  
?

二、主要容易出錯的地方:

①當rand()范圍要求擴大的時候,浮點與整形數之間的強制轉換問題。

 

復制代碼代碼如下:
int  randId = (int)((double)rand() / RAND_MAX * num);

 

②STL中set的使用是否非常熟練?

希望本文所述對大家的C++程序設計有所幫助。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 依安县| 突泉县| 柞水县| 大庆市| 石台县| 同仁县| 平定县| 安乡县| 贡嘎县| 乐平市| 盐津县| 县级市| 黑龙江省| 东明县| 班玛县| 涪陵区| 太仆寺旗| 龙井市| 三江| 合江县| 武强县| 大英县| 绥中县| 会东县| 大同市| 七台河市| 新余市| 清远市| 同仁县| 澳门| 阿勒泰市| 嘉黎县| 乐都县| 美姑县| 霍林郭勒市| 肇庆市| 工布江达县| 青川县| 临朐县| 佳木斯市| 元氏县|