易语言数值排序
你这个程序错误有2点,1)b=2,就永远跟数组[2]比大小;2)如果的比大小,数字转换的结果是两个一样大的数。
.版本 2
.程序集 窗口程序集_启动窗口
.程序集变量 文本, 文本型
.程序集变量 文本组, 文本型, , "0"
.程序集变量 数组, 文本型, , "0"
.程序集变量 计次, 整数型
.程序集变量 计数, 整数型
.子程序 __启动窗口_创建完毕
编辑框1.是否允许多行 = 真
编辑框2.是否允许多行 = 真
_选择框1_被单击 ()
.子程序 _按钮1_被单击
文本组 = 分割文本 (编辑框1.内容, “,”, )
编辑框2.内容 = “”
清除数组 (数组)
数字排序 ()
.计次循环首 (取数组成员数 (数组), 计次)
编辑框2.加入文本 (数组 [计次])
.如果真 (取数组成员数 (数组) ≠ 计次)
编辑框2.加入文本 (选择框1.标题)
.如果真结束
.计次循环尾 ()
.子程序 数字排序
.计次循环首 (取数组成员数 (文本组), 计次)
.如果真 (文本组 [计次] = “”)
到循环尾 ()
.如果真结束
文本 = 文本组 [计次]
.计次循环首 (取数组成员数 (文本组), 计数)
.如果真 (计次 = 计数 或 文本组 [计数] = “”)
到循环尾 ()
.如果真结束
.如果真 (选择框1.选中 且 到数值 (文本组 [计数]) > 到数值 (文本))
文本 = 文本组 [计数]
.如果真结束
.如果真 (选择框1.选中 = 假 且 到数值 (文本组 [计数]) < 到数值 (文本))
文本 = 文本组 [计数]
.如果真结束
.计次循环尾 ()
.计次循环首 (取数组成员数 (文本组), 计数)
.如果真 (文本组 [计数] = 文本)
文本组 [计数] = “”
加入成员 (数组, 文本)
跳出循环 ()
.如果真结束
.计次循环尾 ()
.计次循环尾 ()
.计次循环首 (取数组成员数 (文本组), 计次)
.如果真 (文本组 [计次] ≠ “”)
跳出循环 ()
.如果真结束
.计次循环尾 ()
.如果真 (计次 ≤ 取数组成员数 (文本组))
数字排序 ()
.如果真结束
.子程序 _选择框1_被单击
.如果 (选择框1.选中)
选择框1.标题 = “>”
.否则
选择框1.标题 = “<”
.如果结束
🤗🤗🤗🤗
这是修改后的源码
2018-09-19 · 百度知道合伙人官方认证企业
.程序集变量 分割的数字, 整数型, , "0"
.子程序 整数排列
.参数 大小排列, 逻辑型
.局部变量 计次, 整数型
清除数组 (分割的数字) ' 先把数组归零以清除上次的数据
.计次循环首 (取文本长度 (编辑框1.内容), 计次)
加入成员 (分割的数字, 到数值 (取文本中间 (编辑框1.内容, 计次, 1))) ' 把文本数字分割并存入数组
.计次循环尾 ()
编辑框1.内容 = “”
.判断开始 (大小排列 = 真)
数组排序 (分割的数字, 假) ' 排序
.默认
数组排序 (分割的数字, )
.判断结束
.计次循环首 (取数组成员数 (分割的数字), 计次)
编辑框1.内容 = 编辑框1.内容 + 到文本 (分割的数字 [计次]) ' 显示
.计次循环尾 ()
.子程序 _从大到小_被单击
整数排列 (真)
.子程序 _从小到大_被单击
整数排列 (假)