早教吧 育儿知识 作业答案 考试题库 百科 知识分享

整数1至50构成集合M,从中任取25个数构成集合N,输入a,b,c,d,e,六个数,判断是否属于N,输出N请顺便给出程序的解释,无胜感激!抱歉,打漏了,判断六个数是否属于N,若否,输出N

题目详情
整数1至50构成集合M,从中任取25个数构成集合N,输入a,b,c,d,e,六个数,判断是否属于N,输出N
请顺便给出程序的解释,无胜感激!
抱歉,打漏了,判断六个数是否属于N,若否,输出N
▼优质解答
答案和解析
很完美
Dim M(49) As Integer,N() As Integer
'判断某元素是否属于某数组
Function cf(B() As Integer,nn As Integer) As Boolean 'B()为数组,nn为元素
On Error Resume Next '防止空数组
For Each v In B
If v = nn Then cf = True:Exit For
Next v
End Function
Private Sub Command1_Click()
Dim m1 As Integer,n1 As Integer 'm1存放M()随机下标,n1存放N()上届
'初始化数组a(),1-50
For i = 0 To 49
M(i) = i + 1
Next i
'初始化集合N
Do
Randomize '随机
m1 = M(Int(50 * Rnd)) '生成M()随机下标
If cf(N(),m1) = flase Then '防止N()元素重复
ReDim Preserve N(n1) '重置数组长度
N(n1) = m1 '新元素赋值
n1 = n1 + 1 '数组上届变量加1
End If '结束判断
Loop While UBound(N) < 24 '循环语句块结束
'输入六个数字
Dim k As Integer '存放输入数字
For j = 1 To 6
k = Val(InputBox("请输入6个数字,第" & j & "个数字"))
If cf(N(),k) = False Then '不属于
'输出集合N()
For Each v In N
Print v & ",";
Next v
Print '换行
MsgBox (k & "不属于集合N()")
Else '属于
MsgBox (k & "属于集合N()")
End If
Next j
End Sub
由于你的要求有点歧义,这里假定是判断6个数字中每个数字是否属于集合N,而不是判断是否全部属于,当然,这都是次要的,主要部分的代码已给出,可以自己改.
注:任取25个数还有一种方法是先给M随机排序,再顺序输出25元素,皆可
看了 整数1至50构成集合M,从中...的网友还看了以下:

各位快来看看.已知如图转盘AB都被等分成六个扇形,甲乙已知如图转盘AB都被等分成六个扇形,甲乙二人  2020-05-13 …

把一,人,马,天,去,行,扫,而,步,定,空,鸣,胜,登,惊,楼,排成六个成语把一,人,马,天,去  2020-05-14 …

陈胜王凡六月。已为王,王陈。其故人尝与佣耕者闻之,之陈,扣宫门曰:“吾欲见涉。”宫门令欲缚�陈胜王  2020-06-17 …

陈胜王凡六月.以为王,王陈.其故人尝与佣耕者闻之,之陈,扣官门日:吾欲见涉.这首文言文的题目是?陈  2020-06-17 …

(二)阅读下面一段文言文,回答7—10题。陈胜王凡六月。已为王,王陈。其故人尝与佣耕者闻之,之陈。  2020-06-17 …

阅读下面两篇文言文,完成题目。(14分)(甲)陈胜者。……“嗟乎!燕雀安知鸿鹄之志哉!”(课文第一  2020-06-17 …

为什么是"六六大顺"不是"七七大顺""八八大顺&quot六六大顺应该是来自易经,易经中有六爻之说,  2020-06-20 …

一个排列组合甲乙两个围棋队各出5名队员,按事先排好的顺序出场参赛,双方先有1号队员比赛,胜者再与负  2020-07-30 …

一个排列组合中日围棋擂台赛,各出7名队员,按事先排好的顺序出场参赛,双方先有1号队员比赛,胜者再与  2020-07-30 …

加点成语的使用有错的是A2005年10月10日12时17分时,费俊龙,聂海胜完成了五天五夜115小时  2020-11-20 …