一个关于delphi的repeat循环语句的很菜的问题

vari:integer;begini:=0;repeati:=i+3;memo1.Lines.Add(inttostr(i));untili=10;“i=10;”显然是... var
i:integer;
begin
i:=0;
repeat
i:=i+3;
memo1.Lines.Add(inttostr(i));
until
i =10;

“i =10;”显然是个漏洞。那么想限定在10以内的每次循环执行加3的数(即3、6、9),“i >=10;”则多了12;
“i <=10;”则不能循环了。

这个语句怎么写?
to yeye55:

若不用图形界面的方式,用控制台来显示怎么写?

*************************
*************************
如果用for-to-do语句实现上述同样功能该怎样写?
展开
 我来答
匿名用户
2010-02-23
展开全部
两个办法,Repeat是先执行后判断,使用While do语句,先判断后执行,就不会出现多了12的情况,但要注意用while就最后变化i
还有个办法,就是在 memo1.Lines.Add(inttostr(i))前面加个if i<10 then, i 在变化循环也在继续,但不代表每次循环都要打印啊
一般打印N的倍数,也很少用加的,大多是For循环你要的那个区间,然后判断 i mod n = 0 就做
grayluck
2010-02-24 · 超过10用户采纳过TA的回答
知道答主
回答量:26
采纳率:0%
帮助的人:0
展开全部
while语句:
i:=3;
while(i<=10)do
begin
i:=i+3;
memo1.Lines.Add(inttostr(i));
end;

for语句:
for i:=1 to 3 do
memo1.lines.add(inttostr(i*3));

repeat语句:
i:=3;
repeat
memo1.lines.add(inttostr(i*3));
i:=i+3;
until i>10;

控制台(本程序在delphi2006下编译通过):
program Project1;

{$APPTYPE CONSOLE}

uses
SysUtils;

var
i:integer;
begin
i:=3;
while(i<=10)do
begin
writeln(i);
i:=i+3;
end;
end.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yeye55
推荐于2018-04-21 · TA获得超过715个赞
知道小有建树答主
回答量:412
采纳率:0%
帮助的人:405万
展开全部
i:=0;
repeat
i:=i+3;
memo1.Lines.Add(inttostr(i));
until
(i+3)>10;

PS:控制台程序设计我没有学过,不会。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ffffb2a
2010-02-24 · 超过11用户采纳过TA的回答
知道答主
回答量:55
采纳率:0%
帮助的人:32.1万
展开全部
for i:=1 to 10 do
if (i mod 3)=0 then
Memo1.Lines.Add(inttostr(i));
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
580020
2010-02-27
知道答主
回答量:36
采纳率:0%
帮助的人:14.9万
展开全部
program Project2;

{$APPTYPE CONSOLE}

uses
SysUtils;

var
i,ii:Integer;

begin
ii:=0;
for i:=0 to 10 do
begin
ii:=ii+3;
if ii<10then
WriteLn(inttostr(ii));
end;
readln; //回车键退出

end.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式