haihongyuan.com
海量文库 文档专家
全站搜索:
您现在的位置:首页 > 初中教育 > 学科竞赛学科竞赛

复习及双重循环

发布时间:2014-04-04 17:36:06  

While do(当型循环)

Repeat until 直到型循环

辗转相除最大公约数
Var a,b,r:integer;

Begin
readln(a,b); repeat r:=a mod b; a:=b;

b:=r;
until r=0; Writeln(a); End.

数据实例
A=16 b=12 1、r=4 a=12 b=4 2、r=0 a=4 b=0 A=32 b=18 1、r=14 a=18 b=14 2、r=4 a=14 b=4 3、r=2 a=4 b=2 4、r=0 a=2 b=0

开始
输入a、b

A mod b=0?
True

A=b b=r

Var a,b,r:integer; Begin readln(a,b); while a mod b<>0 do begin r:=a mod b; a:=b; b:=r; end; Writeln(b); End.

While 循环

Repeat 循环

A=16 b=12 1、r=4 a=12 b=4 2、a mod b=0 跳出循环

A=16 1、r=4 2、r=0 3、r=0

b=12 a=12 b=4 a=4 b=0 跳出循环

编写能够打印 输出如下图形 ########### ########### ########### ###########

外循环 内循环

Var i ,j :integer; Begin for i:=1 to 4 do begin for j:=1 to 11 do write(‘#’); writeln; end; End.
i=1, j从 1 to 11; i=2, j从 1 to 11; i=3, j从 1 to 11; i=4, j从 1 to 11;

内循环嵌套在外循环内部 外循环执行一次,内循环执 行一遍

百鸡问题:鸡翁一,值钱五;鸡母一,值 钱三;鸡雏三,值钱一。 用百钱买百鸡, 问鸡翁、母、雏各几何?
X+Y+Z=100 (只) 5X+3Y+z/3=100(钱)
Var X,Y,Z,N:integer; Begin FOR X:=1 to 100 do FOR Y:= 1 to 100 do For Z:=1 to 100 do Begin IF X+Y+Z=100 AND 5*X+3*Y+z/3=100 Then writeln(x:10, y:10, z:10) End; END.

该程序要运行100*100*100=1000000(一百万)次。


网站首页网站地图 站长统计
All rights reserved Powered by 海文库
copyright ©right 2010-2011。
文档资料库内容来自网络,如有侵犯请联系客服。zhit326@126.com