这个该怎么写

a_aaaa8888 2009-04-11 11:26:14
s="568",s是一个3位数
f=?
For i = MSFlexGrid1.Rows - 1 To 1 Step -1
bb = MSFlexGrid1.TextMatrix(i, 1)‘也是3为数
j=?

if f=j then MSFlexGrid1.RemoveItem i

效果要求:
s的每位相加,如s=568,得到5+6=11,5+8=13,6+8=14
当bb的任何两个数相加的结果有两个或两个以上(最多也就是3个都相同,因为都是3为数的数,用>1也可以)和s的每位相加结果有两个或两个以上相同时则MSFlexGrid1.RemoveItem i
如dd为756,两个数相加分别是,12,13,11,这时13和11都和s的两位相加一样则删除了
又如dd为565,两个数相加分别是,11,10,11,这时他虽然是两个11但s相加后只有一个11,所以不删除,还有就是如果s是565,dd为568和这个的道理是一样的,也不删除
如果3个都一样,就不用说了,删除

也就是MSFlexGrid1中任何一个数的两位相加等于11并且等于13,或等于11并且等于14,或者等于13并且等于14的都将在MSFlexGrid1被删除
我现在的书写格式为
for k= 0 to 1
s="568"
f(0) = s Mod 10
f(1)= ? '算法
For i = MSFlexGrid1.Rows - 1 To 1 Step -1
bb = MSFlexGrid1.TextMatrix(i, 1)
j(0)=bb Mod 10
j(1)= ? '算法,和f(1)应该是一样的,只不过计算过程中变量改成bb就可以了
if f(k)=j(k) then MSFlexGrid1.RemoveItem i
next
next
最好用这样的格式来写
要不单独写一个通用的比较方法类似于
Private Function sww(ByVal dd As String, ByVal cc As String) As Integer
......
.....
End Function
最后我在代码中只加入f(1)= sww(s)和 j(1)= sww(bb)就可以了,该怎么写
...全文
85 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

7,765

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧