- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6个圆圈构成三角形.
图中由6个圆圈构成三角形,每条边上有三个圈, 将自然数1--6 不重复地填入各圆圈位置上,使每条边圆圈上的数字之和相等,请编程输出所有的填法。
○
/ \
○ ○
/ \
○--------○
var a,b,c,d,e,f:integer;begin for a:=1 to 6 do??? for b:=1 to 6 do ????? for c:=1 to 6 do ??????? for d:=1 to 6 do????????? for e:=1 to 6 do????????? begin ????????? f:=21-a-b-c-d-e;????????? if [a,b,c,d,e,f][1,2,3,4,5,6] then continue;????????? if ((b+c)=(d+f))and((a+b)=(e+f)) then begin????? writeln(??? ,a);????? writeln(?? / \); ????? writeln( ,b,?? ,d); ????? writeln( /???? \); ????? writeln(c,---,e,---,f);????? end;????? end;end.
第三节 集合类型
Pascal系统把具有共同特征的同一有序类型的对象汇集在一起,形成一个集合,可将集合类型的所有元素作为一个整体进行集合运算。
[例5.11]用随机函数产生20个互不相同的40到100的随机整数,然后按从小到大顺序打印。
解:按以下步骤处理:
①为使产生的随机整数互不相同。因此,每产生一个数,都要判断集合中已否包含,如果没有包含,就放到集合中,并统计个数,直到20个。
②将集合中的数移到数组中,此题利用下标序号从小到大的特征进行映射排序打印。
Pascal程序:
Program Exam511;
Uses? Crt ;
Var a: Array[40..100] Of boolean;
??? dd: set Of 40..100;??????????????? {定义集合dd}
??? n: Integer;
Procedure? Init;???????????????????? {定义产生并处理随机数的过程}
Var i,m: Integer;
Begin
? n:=0;dd:=[ ];??????????????????????? {集合dd初值为空}
? repeat
????? begin
??????? Randomize;?????????????????? {将随机发生器作初始化处理}
??????? m:=Random(100);??????????????? {产生随机整数m}
??????? if not (m in dd) and (m 40 ) then
????????? begin
??????????? dd:=dd+[m]; inc(n)???????? {把m放入集合dd中}
????????? end;
????? end
? until n=20;
End;
Procedure Print;????????????????????? {定义打印过程}
Var i,j,k:Integer;
Begin
? fillchar(a,sizeof(a),false);???? ???{将数组a的各元素置false值}
? For i:=40 To 100 Do
??? if i in dd then a[ i ]:=true;??? {以集合元素值为下标的数组元素赋真值}
? For i:=40 To 100 Do???????????? ?????{以下标号为序(从小到大)输出}
??? If a[ i ] Then? Write(i:4);??? ??{输出a数组中元素值为真的下标号}
End;
Begin????????????????????????????? ??????{主程序}
? Clrscr;
? init;???? ???????????????????? ????{产生随机数,并存入集合中}
? print;??? ???????? ????????????????{打印}
?
文档评论(0)