算法练习的目的是什么
1.制作一个有两个文本框的表单。
2.在访问文本框中添加25个随机数
3.要求数字不重复。
4.从小到大排序。
最终达到的效果
主要应用技术:
1.为了避免重复
2.冒泡算法排序
练习步骤
步骤1:制作输出(表单)
制作两个文本框和两个按钮控件。一个文本框用于显示不重复的排列,另一个文本框用于显示重复的情况。
第二步:生成25个随机数(1-30),要求不重复。
代码如下所示
对于i=1到25
a(i)=Int(30 * Rnd 1)
对于j=1到i-1 '是防止重复的代码。
If (If a(i)=a(j) Then '如果重复,再次选择
i=i – 1
如果…就会结束
下一个j
接下来我
步骤2的技术要点是建立一个数组A,并使用ForNext给数组赋值。
难点在于对25个随机数进行重复删除。方法是引入一个新的变量J,将每一个生成的数与前一个数进行比较,如果相同,则进行新的选择。也用于下一个操作。
重复的操作代码
对于j=1到i-1 '是防止重复的代码。
If (If a(i)=a(j) Then '如果重复,再次选择
i=i – 1
如果…就会结束
下一个j
第三步:按冒泡算法排序。
冒泡算法的核心思想是引入一个中间变量T,不断比较相邻数。冒泡算法的核心思想是下推大数,挤出小数。像一个前进的泡沫。我会再写一篇文章介绍冒泡算法。本文仅做简单介绍。
代码如下:
对于i=1到25 – 1
对于j=1到25
如果a(i) a(j)那么
T=a(i)'t是中间变量,冒泡算法常见。
a(i)=a(j)
a(j)=t
如果…就会结束
下一个j
接下来我
25个数字的生成和排序设置在一个sub下,点击一次按钮即可操作。
步骤4:对输入段进行分支。
为了演示方便,要把25个数字分成分支。每五次计数输入一次。
TempStr是一个中间变量,用于分隔数字并输入5的每个倍数。用If函数来区分。
Chr(13)和Chr(10)是计算机的回车符号。
对于i=1到25
1=text1tempstr CSTR (a (I))' CSTR被转换为字符串。
如果i=5或i=10或i=15或i=20或i=25,则
Temp=chr (13) chr (10)' ' '换行
其他
tempStr=' '
如果…就会结束
接下来我
完全码
选项比较数据库
将I标注为整数
Dim j为整数
Dim tempStr作为字符串中间变量,用于序列分支。
Dim a(1到25)作为Double '数组共有25个数字。
Dim t作为双精度中间变量,用于排序
私有子命令1_Click()
Text1=' '
tempStr=' '
下面这段是生成25个不重复的数字,从1-30个数字中选择。
对于i=1到25
a(i)=Int(30 * Rnd 1)
对于j=1到i-1 '是防止重复的代码。
If (If a(i)=a(j) Then '如果重复,再次选择
i=i – 1
如果…就会结束
下一个j
接下来我
这一段是排序,用冒泡算法。
对于i=1到25 – 1
对于j=1到25
如果a(i) a(j)那么
T=a(i)'t是中间变量,冒泡算法常见。
a(i)=a(j)
a(j)=t
如果…就会结束
下一个j
接下来我
这一段是在文本框中生成的25个数字。
对于i=1到25
1=text1tempstr CSTR (a (I))' CSTR被转换为字符串。
如果i=5或i=10或i=15或i=20或i=25,则
Temp=chr (13) chr (10)' ' '换行
其他
tempStr=' '
如果…就会结束
接下来我
末端接头
私有子命令2_Click()
Text2=' '
tempStr=' '
下面一段是生成的25个数字(可能有重复)。从1到30的数字中选择一个。
对于i=1到25
a(i)=Int(30 * Rnd 1)
接下来我
这一段是排序,用冒泡算法。
对于i=1到25 – 1
对于j=1到25
如果a(i) a(j)那么
t=a(i)
a(i)=a(j)
a(j)=t
如果…就会结束
下一个j
接下来我
这一段是在文本框中生成的25个数字。
对于i=1到25
Text2=Text2 tempStr CStr(a(i))
如果i=5或i=10或i=15或i=20或i=25,则
tempStr=Chr(13) Chr(10)' '
其他
tempStr=' '
如果…就会结束
接下来我
末端接头。