vb的问题,求一个算法!每个字母改为它后面的第N个字母.

vb的问题,求一个算法!每个字母改为它后面的第N个字母.
我大概写了下,这看来好像没有问题,但是当输入最后三个字母后(包括大写),x,y,z 就有问题了.
Private Sub Command1_Click()
n$ = Text1.Text
For i = 1 To Len(n)
c$ = Mid(n$, i, 1)
For j = 0 To 2
If Opt1(j).Value = True Then m = Val(Opt1(j).Caption): b$ = String(1, Asc(c$) + m): a$ = a$ + b$
Next j
Next i
Text2.Text = a$
End Sub

请看图,如果正常,移动位数是3的情况,应该是x,y,z应该转换成a,b,c请问,应该有什么算法呢?

黑猫一按即射 1年前 已收到1个回答 举报

杰明-522 花朵

共回答了21个问题采纳率:90.5% 举报

这个只能是特判了.还有一个方法是把先把这种字母转化成对应的数字,如‘a’-‘a’变成0
‘b’-'a'=1
然后再加上3对26取余
再加回去
z-'a'=25
25+3=28
28%26=2
'a'+2='c'
就是这样转化,听懂了吗?

1年前

8
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.740 s. - webmaster@yulucn.com