单片机如何产生随即数组

  • 单片机基于C语言产生随机数组,可以用作乱序密码锁等一些随机性项目。
#include <stdlib.h>
#include <reg51.h>
uchar idata sui[10]={0,1,2,3,4,5,6,7,8,9};
uchar coda shu[10]={0,1,2,3,4,5,6,7,8,9}
void get_rand(uchar *a,uchar m)
{
    int i,j,t;
		srand(m);
    for(i = 0; i < 10; )
    {
        t = rand()%10;
			for(j=0;j<i;j++)
				if(sui[j]==t) break;
			if(j==i)
				{	*a=t;
					i++;
					a++;
				}
    }
}
void main()
{
	get_rand(sui,t);
	display(shu[sui]);
}

随机数需要引进头文件stdlib.h
指针a指向一个随机数组,此数组可以为空,后面可以用作随机参数。
srand是随机数的播种,需要一个随机参数,如果用常数的话就每次运行程序产生的结果一样的,此参数可以是人为随机按下触发的时间。
i<10就是后面产生一个10个元素数组,%10就是参数范围是在0-9之间,第二个for是遍历,除去重复的元素,最后if是储存元素和移动指针。
代码get_rand(sui,t);中的t是播种参数,至于是什么因人而异,还有display函数也是。
代码仅供参考!!!

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值