关于FOR 是奇数,或偶数,或有一个因定的间隔(20分)

  • 主题发起人 主题发起人 milesmaqi
  • 开始时间 开始时间
M

milesmaqi

Unregistered / Unconfirmed
GUEST, unregistred user!
For i to length(edit1.text) do
这里的 i 是从i:=1,2,3,4,5,6,7,8,9,10...length(edit1.text)
现在我的edit1.text是中文汉字,我所要求的是得到每个汉字的拼音的第一个字母。
所以i是奇数,
现在我的想法是如何得到FOR 奇数(i:=1,3,5,7,9,11...length(edit1.text)),
或FOR偶数(i:=0,2,4,6,8,10...length(edit1.text)),或FOR 一定条件间隔如
for i:=1,4,7,10,13,16...length(edit1.text)
or for i:=0,5,10,15....length(edit1.text) ;
 
for i:=1 to length(edit1.text) do
begin
...............

i:=i+2;
end;
 
查看了DELPHI的HELP,FOR语句的步长好象不能改变,
一个解决办法是用DO WHILE语句
另外就是对I 进行一定的转换,比如
对级数I,I=1+(N-1)*2
偶数I,i=(N-1)*2
对于5的等比数列I,I=(N-1)*5
这样的N 就是一个以步长为1的数了.
 
用 while 不就行了吗
 
为什么不用
repeat
...
until;
偶数时
i:=0;
repeat
i:=i+2;
...
until i>=length(edit1.text)

奇数时
i:=-1;
repeat
i:=i+2;
...
until i>=length(edit1.text)
同理可以设置任何的间隔
 
多人接受答案了。
 
后退
顶部