最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Qt實現(xiàn)生成指定范圍內(nèi)隨機數(shù)與隨機字符串

 更新時間:2023年07月21日 08:22:01   作者:戀戀西風  
這篇文章主要為大家詳細介紹了如何利用Qt實現(xiàn)生成指定范圍內(nèi)隨機數(shù)與隨機字符串,文中的示例代碼簡潔易懂,感興趣的小伙伴可以自己動手嘗試一下

1.生成隨機數(shù)

生成隨機數(shù)主要用到了函數(shù)qsrand和qrand,這兩個函數(shù)在#include <QtGlobal>中,

qsrand用來設置一個種子,該種子為qrand生成隨機數(shù)的起始值。比如說qsrand(10),設置10為種子,那么qrand生成的隨機數(shù)就在[10,32767]之間。而如果在qrand()前沒有調(diào)用過qsrand(),那么qrand()就會自動調(diào)用qsrand(1),即系統(tǒng)默認將1作為隨機數(shù)的起始值。使用相同的種子生成的隨機數(shù)一樣。

下列代碼生成了[0,255]之間的3個隨機數(shù)。用于生成不同顏色

#include <QTime> 
void generateRandomNumber()
{
    qsrand(QTime(0,0,0).msecsTo(QTime::currentTime()));
    for(int i=0; i<3; i++)
    {
        int test =qrand()%256;
        QTest::qSleep(1);
        qDebug()<<test;
    }
}

注意:

這里我用的 是 msecsTo,并且加了 QTest::qSleep(1);防止連續(xù)可能會生成相同的隨機數(shù);

2.生成指定范圍隨機數(shù)

int generateRandomNumber(int min,int max)
{
    qsrand(QTime(0,0,0).msecsTo(QTime::currentTime()));
    int num = qrand()%(max-min)+min;
    qDebug()<<num;
    return num;
}

3.生成不重復的隨機數(shù)組

將產(chǎn)生的隨機數(shù)存放到數(shù)組中,在每次產(chǎn)生新的隨機數(shù)的同時,在隨機數(shù)列表中檢查是否包含該數(shù)

如果包含則重新生成,直到生成新的隨機數(shù)為止。

int getRandom(int min,int max)
{
    QList<int> list;
    int i,j;
    bool res = true;
    qsrand(QTime(0, 0, 0).msecsTo(QTime::currentTime()));
    for (int i=0; i<10; i++) {
        int num = qrand()%(max-min)+min;
        list.append(num);
        while(res)
        {
            for(j=0;j<i;j++)
            {
                if(list[i]==list[j])
                    break;
            }
            if(j<i)
            {
                list[i] = qrand()%(max-min)+min;
            }
            if(j==i)
                res=!res;
        }
    }
}

4.產(chǎn)生隨機字符串

QString getRandomString(int length)
{
    qsrand(QDateTime::currentMSecsSinceEpoch());
    const char ch[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
    int size = sizeof(ch);
    char* str = new char[length + 1];
    int num = 0;
    for (int i = 0; i < length; ++i)
    {
        num = rand() % (size - 1);
        str[i] = ch[num];
    }
    QString res(str);
    return res;
}

到此這篇關于Qt實現(xiàn)生成指定范圍內(nèi)隨機數(shù)與隨機字符串的文章就介紹到這了,更多相關Qt隨機數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • C語言實戰(zhàn)之紙牌游戲

    C語言實戰(zhàn)之紙牌游戲

    這篇文章主要為大家介紹了通過C語言實現(xiàn)的紙牌游戲的示例代碼,文中的示例代碼講解詳細,對我們學習C語言有一定的幫助,感興趣的小伙伴可以跟隨小編學習一下
    2021-12-12
  • Qt 使用Poppler實現(xiàn)pdf閱讀器的示例代碼

    Qt 使用Poppler實現(xiàn)pdf閱讀器的示例代碼

    下面小編就為大家分享一篇Qt 使用Poppler實現(xiàn)pdf閱讀器的示例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • 一文帶你探索C++中類型轉(zhuǎn)換的奧秘

    一文帶你探索C++中類型轉(zhuǎn)換的奧秘

    C++?提供了四種類型轉(zhuǎn)換方式,幫助我們在不同數(shù)據(jù)類型之間進行有效的數(shù)據(jù)傳遞和操作,這些類型轉(zhuǎn)換方式在不同的場景下有各自的優(yōu)勢和適用性,下面我們就來深入了解一下吧
    2023-10-10
  • VisualStudio2022下配置 OpenMP多線程編程環(huán)境與運行

    VisualStudio2022下配置 OpenMP多線程編程環(huán)境與運行

    本文主要介紹了VisualStudio2022下配置 OpenMP多線程編程環(huán)境與運行,文中通過圖文介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-06-06
  • C++Vector容器常用函數(shù)接口詳解

    C++Vector容器常用函數(shù)接口詳解

    最近我學習了C++中的STL庫中的vector容器,對于常用容器,我們不僅要會使用其常用的函數(shù)接口,我們還有明白這些接口在其底層是如何實現(xiàn)的。所以特意整理出來一篇博客供我們學習
    2022-08-08
  • OpenCV實現(xiàn)透視變換矯正

    OpenCV實現(xiàn)透視變換矯正

    這篇文章主要為大家詳細介紹了OpenCV實現(xiàn)透視變換矯正,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • C++中獲取字符串長度的函數(shù)sizeof()、strlen()、length()、size()詳解和區(qū)別(推薦)

    C++中獲取字符串長度的函數(shù)sizeof()、strlen()、length()、size()詳解和區(qū)別(推薦)

    在C++中計算長度的函數(shù)有四種,它們分別是sizeof()?,size(),strlen(),str.length(),這篇文章主要介紹了C++中獲取字符串長度的函數(shù)sizeof()、strlen()、length()、size()詳解和區(qū)別,需要的朋友可以參考下
    2023-02-02
  • 簡述c++ 發(fā)展史

    簡述c++ 發(fā)展史

    這篇文章主要介紹了c++ 發(fā)展的過程,幫助大家更好的了解和學習c++,感興趣的朋友可以了解下
    2020-08-08
  • 詳解C語言正確使用extern關鍵字

    詳解C語言正確使用extern關鍵字

    這篇文章主要介紹了C語言正確使用extern關鍵字,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • C語言實現(xiàn)會員管理系統(tǒng)

    C語言實現(xiàn)會員管理系統(tǒng)

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)會員管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03

最新評論

报价| 沂水县| 封开县| 上犹县| 凤冈县| 图们市| 江津市| 玛多县| 喀喇| 博野县| 固安县| 汽车| 沙田区| 普安县| 阳东县| 修武县| 宝山区| 集安市| 策勒县| 施甸县| 鲁山县| 邮箱| 张家口市| 正宁县| 丰顺县| 乌兰察布市| 南雄市| 德安县| 类乌齐县| 北碚区| 平陆县| 泾川县| 新建县| 龙胜| 重庆市| 安远县| 衡水市| 滨州市| 昌吉市| 铅山县| 德格县|