欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++抽獎程序實現方法

 更新時間:2015年07月02日 11:25:16   作者:tianmo2010  
這篇文章主要介紹了C++抽獎程序實現方法,實例分析了C++隨機數的生成技巧與抽獎程序的實現方法,需要的朋友可以參考下

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

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

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

#include <iostream> 
#include <set> 
using namespace std; 
typedef set<int> ISET; 
ISET GetPridePersonId(const int num, const int pride_num) 
{   
  int id; 
  ISET iset;   
  while (1) { 
     id = (int)((double)rand() / RAND_MAX * num) % (num - 1); 
     if (iset.find(id) == iset.end()) { 
       iset.insert(id); 
     } 
     if (iset.size() >= pride_num) { 
       break; 
     }      
   }    
   return iset; 
} 
void print(ISET &iset) 
{ 
  ISET::iterator iter; 
  cout<<"item as :\n"; 
  for (iter = iset.begin(); iter != iset.end(); ++ iter) { 
    cout<<*iter<<"\n"; 
  } 
} 
int main(int argc, char **argv)  
{ 
  const int total_person = 300000; 
  const int total_pride_person = 100; 
  ISET iset = GetPridePersonId(total_person, total_pride_person); 
  print(iset); 
  return 0; 
} 

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

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

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

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

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

您可能感興趣的文章:

相關文章

  • C++實現約瑟夫環(huán)的循環(huán)單鏈表

    C++實現約瑟夫環(huán)的循環(huán)單鏈表

    這篇文章主要為大家詳細介紹了C++實現約瑟夫環(huán)的循環(huán)單鏈表,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • 深入了解C語言中的字符串和內存函數

    深入了解C語言中的字符串和內存函數

    本文主要帶大家來學習一些常用的庫函數。有了這些庫函數,我們可以更加方便地操作字符串和內存,從而提升我們的編碼效率。話不多說,我們開始吧
    2022-11-11
  • C++進階練習刪除鏈表的倒數第N個結點詳解

    C++進階練習刪除鏈表的倒數第N個結點詳解

    這篇文章主要給大家介紹了關于如何利用C++刪除鏈表的倒數第N個結點,文中通過實例代碼介紹的非常詳細,對大家學習或者使用C++具有一定的參考學習價值,需要的朋友可以參考下
    2022-05-05
  • C++實現正整數的四則運算表達式

    C++實現正整數的四則運算表達式

    這篇文章主要為大家詳細介紹了C++實現正整數的四則運算表達式,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • Cocos2d-x Schedule定時器的使用實例

    Cocos2d-x Schedule定時器的使用實例

    這篇文章主要介紹了Cocos2d-x Schedule定時器的使用實例,本文的講解內容包含在代碼注釋中,需要的朋友可以參考下
    2014-09-09
  • Linux環(huán)境下段錯誤的產生原因及調試方法小結

    Linux環(huán)境下段錯誤的產生原因及調試方法小結

    借此機會系統(tǒng)學習了一下,這里對Linux環(huán)境下的段錯誤做個小結,方便以后同類問題的排查與解決
    2011-11-11
  • C語言位運算和sizeof運算符詳解

    C語言位運算和sizeof運算符詳解

    這篇文章主要介紹了C語言位運算和sizeof運算符詳解的相關資料,這里提供了詳細的知識要點,并附簡單代碼示例,需要的朋友可以參考下
    2016-11-11
  • 在c和c++中實現函數回調

    在c和c++中實現函數回調

    如何在c和c++中實現函數回調呢?現在小編就和大家分享一下在c/c++中實現函數回調的示例代碼,需要的朋友可以參考下
    2013-07-07
  • C++?RAII在HotSpot?VM中的重要應用解析

    C++?RAII在HotSpot?VM中的重要應用解析

    RAII技術被認為是C++中管理資源的最佳方法,進一步引申,使用RAII技術也可以實現安全、簡潔的狀態(tài)管理,編寫出優(yōu)雅的異常安全的代碼,這篇文章主要介紹了C++?RAII在HotSpot?VM中的重要應用,需要的朋友可以參考下
    2023-09-09
  • 淺談c++中的stl中的map用法詳解

    淺談c++中的stl中的map用法詳解

    下面小編就為大家?guī)硪黄獪\談c++中的stl中的map用法詳解。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10

最新評論