51单片机C语言问题,怎么实现一个0-9随机排列的数列?如a[10]={2,5,6,9,1,4,8,3,4,8,0,7 },

数字都是随机排列的,伪随机也行,程序越简单越好,有好的追加10分... 数字都是随机排列的,伪随机也行,程序越简单越好,有好的追加10分 展开
joodoo75
2012-10-07 · TA获得超过449个赞
知道小有建树答主
回答量:158
采纳率:0%
帮助的人:91.8万
展开全部
先有randomize初始化,初始化一次就可以了,然后可以若干次用random,每次用random可以获得一个随机数
#include <stdlib.h>

main()
{
randomize();

for(i = 0; i < N; i++) {
a[i] = random(10);
}
}
追问
昨晚查资料自己解决了,写得可以,不过#include 的randomize在单片机里编译没法通过,
追答
#include 的randomize在单片机里编译没法通过,
这个问题和软件无关,需要你设置正确的头文件路径,一般和你用的编程工具有关,或者直接写makefile,例如gcc -I 选项可指定头文件的搜索路径
百度网友9d80b6bac
2012-10-07 · TA获得超过1031个赞
知道小有建树答主
回答量:692
采纳率:66%
帮助的人:353万
展开全部
我很久以前用过51了,现在用的是ARM了,如果要我做的话你可以让定时器工作在自填充模式下,然后你把TH或者TL里面的值读出来,然后%10,就可以产生0-9随机数了,在PC机上C语言产生随机数也是这个原理,每次去读那个10ms单位的计时内存值。程序就不用写了吧,给你个思路,呵呵,希望你能听懂。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式