delphi 7循环语句的问题

将下面一段程序改成for..do循环:x:=num1;y:=num2;whiley<>0dobegintemp:=xmody;x:=y;y:=temp;end;x,y>0... 将下面一段程序改成for..do循环:
x:=num1;y:=num2;
while y<>0 do
begin
temp:=x mod y;
x:=y;
y:=temp;
end;
x,y>0
初始时x<y
展开
 我来答
情感设计旅人
2020-01-27 · TA获得超过3709个赞
知道大有可为答主
回答量:3086
采纳率:28%
帮助的人:206万
展开全部
不太明白你这个循环有什么意义,这段程序运行的最后结果是,你的edit1到edit5的text里是最后一条数据的值,即软显示最后一条么,直接就把uup_query的指针定位到last么就行了,何必再做一个循环呢?
把循环结构去掉,只保存里面的循环体
while
not
Eof
do
begin
edit1.Text:=fieldbyname('stu_name').AsString;
edit2.Text:=fieldbyname('stu_age').AsString;
edit3.Text:=fieldbyname('stu_sex').AsString;
edit4.Text:=fieldbyname('stu_tel').AsString;
edit5.Text:=fieldbyname('stu_address').AsString;
next;
end;
改成
if
recordcount>0
then
begin
edit1.Text:=fieldbyname('stu_name').AsString;
edit2.Text:=fieldbyname('stu_age').AsString;
edit3.Text:=fieldbyname('stu_sex').AsString;
edit4.Text:=fieldbyname('stu_tel').AsString;
edit5.Text:=fieldbyname('stu_address').AsString;
next;
end;
然后新建一个按钮,在它的click事件里加入
with
uup_query
do
begin
if
not
eof
then
begin
edit1.Text:=fieldbyname('stu_name').AsString;
edit2.Text:=fieldbyname('stu_age').AsString;
edit3.Text:=fieldbyname('stu_sex').AsString;
edit4.Text:=fieldbyname('stu_tel').AsString;
edit5.Text:=fieldbyname('stu_address').AsString;
next;
end;
end;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
LiWei_2008
2009-10-30 · TA获得超过4525个赞
知道小有建树答主
回答量:884
采纳率:0%
帮助的人:784万
展开全部
x:=num1;y:=num2;
z:=x;
for i:=0 to z do
begin
temp:=x mod y;
x:=y;
y:=temp;
if y=0 then break;
end;
其实就是在条件达到时退出循环。
这个算法最好还是用while 或repeat循环,用for循环要麻烦一点。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
luotian0822
2009-10-30 · TA获得超过1395个赞
知道小有建树答主
回答量:1040
采纳率:33%
帮助的人:595万
展开全部
能改么?这根本不知道循环的次数。。。
初学者 路过~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jjm1227
2009-10-30 · TA获得超过462个赞
知道小有建树答主
回答量:463
采纳率:0%
帮助的人:375万
展开全部
x=10 y=8

for i:=0 to x do
begin

xy=x mod y

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

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式