在16个数中随机抽取2个数,如何用易语言实现?最好写一段代码。
3个回答
展开全部
好吧,楼上和我的思路一样,取随机数然后把随机数分配到下标。
不过楼上的程序有点小小的问题。
1.实现的要是易语言哦。
2.程序没有设置随机数种子[srand()]可能取出的随机数是一定的哦。
最好这样吧!
#include <time.h>
srand((unsigned)time(NULL));
这样小bug就没啦!
/********************************/
说正题,楼主,易语言代码如下:
.版本 2
.支持库 spec
.程序集 窗口程序集1
.子程序 _按钮1_被单击
.局部变量 date, 整数型, , "16"
.局部变量 randnum, 整数型
date = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 }
.计次循环首 (2, )
randnum = 取随机数 (1, 取数组成员数 (date)) ' rand
调试输出 (date [randnum]) ' 循环一次取出一次
.计次循环尾 ()
.子程序 __启动窗口_创建完毕
置随机数种子 () ' srand
不过楼上的程序有点小小的问题。
1.实现的要是易语言哦。
2.程序没有设置随机数种子[srand()]可能取出的随机数是一定的哦。
最好这样吧!
#include <time.h>
srand((unsigned)time(NULL));
这样小bug就没啦!
/********************************/
说正题,楼主,易语言代码如下:
.版本 2
.支持库 spec
.程序集 窗口程序集1
.子程序 _按钮1_被单击
.局部变量 date, 整数型, , "16"
.局部变量 randnum, 整数型
date = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 }
.计次循环首 (2, )
randnum = 取随机数 (1, 取数组成员数 (date)) ' rand
调试输出 (date [randnum]) ' 循环一次取出一次
.计次循环尾 ()
.子程序 __启动窗口_创建完毕
置随机数种子 () ' srand
展开全部
.版本 2
.子程序 _按钮1_被单击
.局部变量 随机数1, 整数型
.局部变量 随机数2, 整数型
随机数1 = 取随机数 (1, 16)
随机数2 = 取随机数 (1, 16)
.判断循环首 (随机数1 = 随机数2)
随机数2 = 取随机数 (1, 16)
.判断循环尾 ()
信息框 (“第一个随机数为:” + 到文本 (随机数1) + #换行符 + “第二个随机数为:” + 到文本 (随机数2), 0, )
.子程序 _按钮1_被单击
.局部变量 随机数1, 整数型
.局部变量 随机数2, 整数型
随机数1 = 取随机数 (1, 16)
随机数2 = 取随机数 (1, 16)
.判断循环首 (随机数1 = 随机数2)
随机数2 = 取随机数 (1, 16)
.判断循环尾 ()
信息框 (“第一个随机数为:” + 到文本 (随机数1) + #换行符 + “第二个随机数为:” + 到文本 (随机数2), 0, )
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
定义一个16个数的数组,
然后生成一个随机数, 对16取模, 以得到的结果为索引去数组里面找就可以了
类似
data[16] = {1,2,3,4, ... }
int num = rand() % 16;
data1 = data[num];
同理去第二个,判定不等于第一个,否则重新取
int num2;
do
{
num2 = rand()%16;
}while( num == num2 )
data2 = data[num2];
然后生成一个随机数, 对16取模, 以得到的结果为索引去数组里面找就可以了
类似
data[16] = {1,2,3,4, ... }
int num = rand() % 16;
data1 = data[num];
同理去第二个,判定不等于第一个,否则重新取
int num2;
do
{
num2 = rand()%16;
}while( num == num2 )
data2 = data[num2];
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询