标题五个字
vb吧
全部回复
仅看楼主
level 1
随机生成10个整数,输出每个数字重复的次数,我做完结果会输出两遍一个数字,有没有老哥帮看看
2022年11月29日 02点11分 1
level 5
回答五个字
2022年11月29日 02点11分 2
[阴险]
2022年11月29日 02点11分
level 13
因为你是顺次统计次数的,对于重复出现的数字,出现了几次就统计了几遍,每个数字统计之前判断一下是否已统计过,是则跳过
2022年11月29日 02点11分 3
老哥能不能有劳写个代码看看[乖]
2022年11月29日 03点11分
level 13
dim a%(1 to 10), b$, str1$, str2$, i%, j%
randomize
for i=1 to 10
a(i)=int(rnd*10+10)
print a(i)
str1=str1 & a(i) & " "
next
for i=1 to 10
for j=1 to i-1
if a(i)=a(j) then exit for
next
if j=i then
str2=replace(str1,a(i),"")
b=a(i) & " " & (len(str1)-1-len(str2))/len(a(i))
print b
end if
next
2022年11月29日 05点11分 6
level 15
说实话,我更想看看你是怎么写的,然后在这个基础上改[滑稽]
我也写一个自己的版本吧:
Dim a%(1 To 10)
Private Sub Command1_Click() '产生10个随机数
Dim i%
Randomize
For i = 1 To 10
a(i) = Int(Rnd * 10) + 10
Print a(i)
Next i
End Sub
Private Sub Command2_Click() '统计每个数出现的次数
Dim b%(1 To 10), i%, j%
For i = 1 To 10
b(i) = 1 '将每个数字的出现次数初始化为1
Next i
For i = 1 To 10
If b(i) = 1 Then '如果当前数字的出现次数仍为初始值1
For j = i + 1 To 10 '则循环遍历后面的数字
If a(i) = a(j) Then '如果跟当前数字相等
b(i) = b(i) + 1 '则计数加1
b(j) = 0 '后面出现的数字次数清零,这样就不会重复统计了
End If
Next j
Print a(i); b(i) '输出当前数字及其出现次数
End If
Next i
End Sub
2022年11月29日 11点11分 8
1