|
发表于 2025-8-3 12:59:42
|
显示全部楼层
浙江省温州市
下面的代码会读取文本中的数值, 然后求得排名, 对文本格式没什么要求:
窗口程序集名 | 保 留 | 保 留 | 备 注 | 窗口程序集_启动窗口 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 正则 | 正则表达式 | | | 结果 | 文本型 | | | 字段 | 文本型 | | 0 | 数组 | 双精度小数型 | | 0 | 数 | 整数型 | | | 下标 | 整数型 | | 0 | 值 | 整数型 | | | 当前 | 整数型 | | | 名次 | 整数型 | | | 排名 | 整数型 | | 0 |
正则. 创建 (“[0-9\.]+”, )结果 = 正则. 替换 (文本, “$0 ”, 1, , 假, 真)字段 = 分割文本 (结果, “ ”, ) 如果真 (取数组成员数 (字段 ) < 1 ) 返回 (假)重定义数组 (排序数, 假, 取数组成员数 (字段))重定义数组 (下标, 假, 取数组成员数 (字段 )) 重定义数组 (数组, 假, 取数组成员数 (字段 )) 计次循环首 (取数组成员数 (数组 ), 数 ) 数组 [数 ] = 到数值 (字段 [数 ]) 下标 [数 ] = 数 计次循环尾 () 计次循环首 (取数组成员数 (数组 ), 数 ) 计次循环首 (取数组成员数 (数组 ) - 数, 值 )  如果真 (数组 [值 ] > 数组 [值 + 1 ])  交换变量 (数组 [值 ], 数组 [值 + 1 ])  交换变量 (下标 [值 ], 下标 [值 + 1 ])    计次循环尾 () 计次循环尾 ()当前 = 数组 [1 ]名次 = 1 计次循环首 (取数组成员数 (数组 ), 数 ) 如果真 (数组 [数 ] ≠ 当前 )  当前 = 数组 [数 ]  名次 = 名次 + 1 排序数 [下标 [数]] = 名次 计次循环尾 ()返回 (真)变量名 | 类 型 | 静态 | 数组 | 备 注 | 文本 | 文本型 | | | 排序数 | 整数型 | | 0 |
文本 = “310 110 410 210”计算排序数_文本型 (文本, 排序数 )调试输出 (文本, 排序数 )文本 = “[33][33][44][11]”计算排序数_文本型 (文本, 排序数 )调试输出 (文本, 排序数 )文本 = “33-33-33-11”计算排序数_文本型 (文本, 排序数 )调试输出 (文本, 排序数 ) 如果是以整数数组作为参数, 参考:
数据转排名_精易论坛
|
|