找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2489|回復: 8
打印 上一主題 下一主題
收起左側(cè)

關(guān)于單片機C語言隨機函數(shù)rand()的使用

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:977804 發(fā)表于 2022-3-24 13:21 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include<STC15W.H>
#include <stdlib.h>           //隨機函數(shù)包含
P2=rand()%8;    //獲得0~8之間的隨機數(shù),函數(shù)rand()在stdlib.h

假設P2接的LED口,1秒鐘變換一個隨機數(shù),會出現(xiàn)這樣的情況:3  3   2   3   6  3  ……。
但是想要的結(jié)果是: 4   3   7    1    6   2   5  這樣,就像音樂播放器一樣,隨機播放,就把所有的歌隨機排了個序,從上到下放一遍。
百度查要加這個參數(shù) seed  ,查來查去也沒看明白
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:883242 發(fā)表于 2022-3-24 21:38 | 只看該作者
seed要用定時器的值來賦予的。
回復

使用道具 舉報

板凳
ID:827243 發(fā)表于 2022-3-25 09:06 | 只看該作者
這個和seed無關(guān),你要的算法叫發(fā)。
1 生成 8 以內(nèi)的隨機數(shù) rand()%8
2 生成 7 以內(nèi)的隨機數(shù) rand()%7
3 生成 6 以內(nèi)的隨機數(shù) rand()%6
...
4 生成 1 以內(nèi)的隨機數(shù),最后一張。

評分

參與人數(shù) 1黑幣 +40 收起 理由
admin + 40 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

地板
ID:161164 發(fā)表于 2022-3-25 09:26 | 只看該作者
daemondong 發(fā)表于 2022-3-25 09:06
這個和seed無關(guān),你要的算法叫
1 生成 8 以內(nèi)的隨機數(shù) rand()%8
2 生成 7 以內(nèi)的隨機數(shù) rand()%7

重點是如何保證不重復
回復

使用道具 舉報

5#
ID:827243 發(fā)表于 2022-3-25 12:49 | 只看該作者
有很多辦法,拿數(shù)組舉例
1 初始化  a[8]={1,2,3,4,5,6,7,8}
2 取 rand()%8 比如 2, 取出 a[2] =2 , 然后 a[2]=a[8]  取出的數(shù)就去除了
3 取 rand()%7 比如 2, 取出 a[2] =8 , 然后 a[2]=a[7]  取出的數(shù)就去除了
... 直到為1
回復

使用道具 舉報

6#
ID:311903 發(fā)表于 2022-3-25 13:07 | 只看該作者
設置不同的隨機種子,srand()
回復

使用道具 舉報

7#
ID:977804 發(fā)表于 2022-3-25 14:09 來自手機 | 只看該作者
daemondong 發(fā)表于 2022-3-25 12:49
有很多辦法,拿數(shù)組舉例
1 初始化  a[8]={1,2,3,4,5,6,7,8}
2 取 rand()%8 比如 2, 取出 a[2] =2 , 然后 ...

我試試
回復

使用道具 舉報

8#
ID:883242 發(fā)表于 2022-3-25 15:00 | 只看該作者
daemondong 發(fā)表于 2022-3-25 09:06
這個和seed無關(guān),你要的算法叫發(fā)
1 生成 8 以內(nèi)的隨機數(shù) rand()%8
2 生成 7 以內(nèi)的隨機數(shù) rand()%7

不可能無關(guān)。rand()產(chǎn)生的隨機數(shù)不是天上掉下來的,好好看書吧!
回復

使用道具 舉報

9#
ID:161164 發(fā)表于 2022-3-25 15:59 來自手機 | 只看該作者
daemondong 發(fā)表于 2022-3-25 12:49
有很多辦法,拿數(shù)組舉例
1 初始化  a[8]={1,2,3,4,5,6,7,8}
2 取 rand()%8 比如 2, 取出 a[2] =2 , 然后 ...

受教了~
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表