一道VB题目

PrivateSubCommand1_Click()S="ABCDEF":K=Len(S)ForI=1ToK/2Mid(S,I,K-2*(I-1))=Mid(S,I+1,... Private Sub Command1_Click()
S = "ABCDEF": K = Len(S)
For I = 1 To K / 2
Mid(S, I, K - 2 * (I - 1)) = Mid(S, I + 1, K - 2 * I) & Mid(S, I, 1)
Print S
Next I
End Sub
s的值分别为BCDEAF
BDECAF
BDECAF
请问怎么做的啊?
Mid(S, I, K - 2 * (I - 1)) = Mid(S, I + 1, K - 2 * I) & Mid(S, I, 1)
是怎么运算的?
展开
 我来答
shizi1215
2011-03-11
知道答主
回答量:40
采纳率:0%
帮助的人:0
展开全部
len()求字符串的长度 Len(S)=6 k=6 k/2 =3
mid(字符串,起始位置,字符个数):该函数返回从字符串指定的位置开始的指定书目的字符
&是连接字符将两端的字符连接起来
所以第一次 I=1
等号前Mid(S, I, K - 2 * (I - 1)) =ABCDEF 之后 Mid(S, I + 1, K - 2 * I) =BCDE Mid(S, I, 1)=A 所以后边的值为BCDEA 等号后边的值开始将前者的值覆盖,未覆盖的保留,所以留下来的是BCDEAF
之后的循环也是如此,只是注意每次改变的时候s的值已经改变,应该在改变s值的基础上进行运算
Mid(S, I, K - 2 * (I - 1)) = Mid(S, I + 1, K - 2 * I) & Mid(S, I, 1)
就是后者将s中从 I 到K - 2 * (I - 1))的部分覆盖替换,s其他部分不变
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zss_2010
2011-03-12 · TA获得超过333个赞
知道小有建树答主
回答量:172
采纳率:50%
帮助的人:105万
展开全部
Mid(S, I, K - 2 * (I - 1)) = Mid(S, I + 1, K - 2 * I) & Mid(S, I, 1)
表达式左边是用的mid语句,含义和用法如下:
含义:在一 字符串 (String) 变量中以另一个字符串中的字符替换其中指定数量的字符。
Mid(stringvar, start[, length]) = string
Mid 语句的语法具有下面几个部分:
部分 描述
stringvar 必要参数。被更改的字符串变量名。
start 必要参数;Variant (Long)。stringvar 中被替换的字符开头位置。
length 可选参数;Variant (Long)。被替换的字符数。如果省略,string将全部用上。但被替换的字符数量总是小于或等于 stringvar 的字符数。
string 必要参数。字符串表达式,替换部分 stringvar 的字符串。
所以上边表达式左边语句的意思是对S操作,把它从第I个字符开始的K - 2 * (I - 1))个字符用表达式右边字符串Mid(S, I + 1, K - 2 * I) & Mid(S, I, 1)替换。
表达式右边就不用说了吧,是普通MID函数的用法,字符串截取。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shaosdh
2011-03-11 · TA获得超过165个赞
知道小有建树答主
回答量:237
采纳率:100%
帮助的人:99.4万
展开全部
i s Mid(s, i, k - 2 * (i - 1)) Mid(s, i + 1, k - 2 * i) Mid(s, i, 1)
1 BCDEAF BCDEAF CDEA B
2 BDECAF DECA EC D
3 BDECAF EC E
将结果全部细节输出就能看懂了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式