




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第16次学案 完善程序1、插入法排序。将数组进行从小到大采用插入法排序,其中的数是随机产生的,范围为18,60的整数。【算法提示】每插入一个数据分为查找插入的位置、移动数据、插入数据三步来执行。clsinput “n=“;ndim a(n)for i=1 to na(i)=next ifor i=(2)x=a(i):k=(3)do while(4)(5)k=k-1loop(6)=xnext ifor i=1 to n:print a(i);:next iend2、n个小孩围坐一圈,每人取偶数块(1050之间)糖,然后按下列规则调整:所有小孩同时把自己糖的一半分给坐在他左边的小孩。如果这里他们手
2、中的糖为奇数块,则向老师补一块,再如此分下去,直到他们手中糖块数目相等为止。编程模拟并打印每次分糖的结果clsinput “n=“;ndim a(n),b(n)for i=1 to n:a(1)=(int(rnd*21)+5)*2:print a(i);:next i:printa(0)=(1)dofor i=1 to nb(i)=(2)if b(i) mod 2=1 then (3)next ifor i=1 to n:a(i)=(4):next ia(0)=b(n)t=t+1:print t;for i=1 to n:print a(i);:next i:printf=0for i=1 t
3、o n-1if (5) then f=1nextiloop until (6)end3、由键盘输入大于10位的自然数,打印出将其各位数字重新排列成的比原数小的最大的数。clsinput a$:la=len(a$)for i=1 to la:a(i)=val(mid$(a$,i,1):next ik=ladoj=k-1do while and j=1j=j-1loopif thenswap a(j),a(k)for m= for n=m+1 to laif then swap a(m),a(n)next n,mif a(1)=0 then l=2 else l=1for i=l to la:pr
4、int using“#”:a(i);:next i:endend if: loop until k=14、将n个红球和n个黄球围成一圈,打印出所有的排列方式。旋转后相同的视为一种排列。clsinput n:dim a(n*2),b$(2000),c$(2000)for i=1 to na(i)=0: next iy=0do while t$=”for i=1 to 2*nt$= next ih=h+1:b$(h)= l=0for k=1 to h-1l=instr( )if l0 then b$(h)=”:exit fornext kif and a(0)=0 theny=y+1:c$(y)=
5、 end ifj=n*2do while and j0j=j-1loop do while and k0k=k-1loopswap a(j-1),a(k)for p=j to n*2-1for q=p+1 to n*2if then swap a(p),a(q)next q,ploopfor i=1 to yprint c$(i):s=s+1next iprint send5、跳:在一个数字序列中,任何相邻两位不同,就有一个跳,例如0011011中有3个跳。编程输出在由n个0和n个1构成的所有2n位数列中,跳为3的共有多少个?提示:可对n个0和n个1进行全排列,再查找相邻的数。clsinput
6、 “n=“;ndim a(n*2)for i=1 to n:a(i)=0:a(7) )=1:next ido while a(0)=0k=n*2do while (8) k=k-1loopj=n*2do while (9) j=j-1loopswap (10)for p=k to n*2-1for q=p+1 to n*2 (11)next qnext ps=0for i=1 to n*2:s=s+a(i):next iif s=n thenp=0for i=1 to n*2-1if(12) then p=p+1if p3 then exit fornext iif p=3 thenfor i
7、=1 to n*2:print using “#”;a(i);:next iprintend ifend ifloopend6、进制数给出一个正整数n(1=n=1023),将其化为10位二进制数,然后计算出二进制数中的”1”的个数,若1的个数为奇数,则在最高位前加上一个1,否则加上一个0,最后将在此基础上形成一个11位二进制数,用3个十六进制数输出。例如:输入23,化为二进制数为:0000010111,因为1的个数为4个,在最高位前加0。,得到00000010111.输出:0h,1h,7h。再例如:输入453,化为二进制数为:0111000101,因为1的个数是奇数,所以在最高位前加1,得到1
8、0111000101.输出:5h,ch,5h.clsdoinput nloop until dim a(12),b$(15)for i=0 to 15read b$(i)next idata 0000,0001,0010,0011,0100,0101,0110,0111,1000,1001,1010,1011,1100,1101,1110,1111t=0dot=t+1 n=n2loop until t=10for i=1 to 10p= next iif p mod 2=1 then else a(11)=0a(12)=0a$=”for i= 12 to 1 step-1a$= next ifor i=1 to 12
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 文创空间管理办法
- 2024年四川省长宁县普通外科学(副高)考试题含答案
- 建设批后管理办法
- 林权评估管理办法
- 建立队籍管理办法
- 律所收费管理办法
- 律师登记管理办法
- 2024年陕西省大荔县普通外科学(副高)考试题含答案
- 林业苗木管理办法
- 征信认证管理办法
- 地表水体长度和面积遥感监测技术规范
- 工程项目档案试题
- 银行账户基本信息表
- GB/T 33213-2016无损检测基于光纤传感技术的应力监测方法
- GB/T 2652-1989焊缝及熔敷金属拉伸试验方法
- GB/T 24824-2009普通照明用LED模块测试方法
- 建筑设计防火规范2001修订版
- 养老护理员实操考核标准
- 2022年临沂科技普通中等专业学校教师招聘笔试题库及答案解析
- 动物医院-危重病例协议书
- 贵州省建筑与装饰工程计价定额(2023版)
评论
0/150
提交评论