【正文】
在程序中設(shè)置一些標(biāo)志,通常標(biāo)志是整型變量 。 ⒊ 多重循環(huán)結(jié)構(gòu) 多重循環(huán)結(jié)構(gòu): 是指循環(huán)體中又包含其它循環(huán)的復(fù)雜程序結(jié)構(gòu)。 SWUDAIXIAN 19 ⒋ 排序算法 例 7 選擇排序程序 (降序 ): clear input “ 請(qǐng)輸入數(shù)據(jù)個(gè)數(shù): to n dime x(n) for k=1 to n input “ 請(qǐng)輸入第” +str(k,2)+“ 個(gè)數(shù)據(jù) : to x(k) endfor for i=1 to n1 for j=i+1 to n if x(i)x(j) temp=x(i) x(i)=x(j) x(j)=temp endif endfor endfor ? ” 排序后數(shù)據(jù) :” for i=1 to n ?? x(i), endfor 外層循環(huán)i變化 內(nèi)層循環(huán)j變化 比較交換 排序 是將一組隨機(jī)排放的數(shù)按 從大到小 或 從小到大重新排列 。 SWUDAIXIAN 20 選擇排序的改進(jìn) 選擇排序 改進(jìn)算法的基本思路,每輪排序?qū)(i)假定為極,每次在 x(i)到 x(max)中找出其極值,記錄其位置,最后讓極值位置的元素與x(i)交換。 保證每輪排序只有一次交換,且為有效的交換! clear input “ 請(qǐng)輸入數(shù)據(jù)個(gè)數(shù): to n dime x(n) for k=1 to n input “ 請(qǐng)輸入第” +str(k,2)+“ 個(gè)數(shù)據(jù) : to x(k) endfor for i=1 to n1 k=i for j=i+1 to n if x(k)x(j) k=j endif endfor if ki temp=x(i) x(i)=x(k) x(k)=temp endif endfor ? ” 排序后數(shù)據(jù) :” for i=1 to n ?? x(i), endfor 排序循環(huán) 假定最大值位置 循環(huán)比較找出最大值位置 與本次比較的第一個(gè)元素交換 SWUDAIXIAN 21 clea store 0 to max,min input “ 請(qǐng)輸入第一個(gè)數(shù)” to max input “ 請(qǐng)輸入第二個(gè)數(shù)” to min If maxmin then temp=min min=max max=temp endif do while min 0 tempmin=min min=max % min max=tempmin enddo @14,20 say “ n,m的最大公約數(shù)是” +str(max) release all cancel 例 8 求任意兩個(gè)數(shù)的最大公約數(shù)。 通過(guò)求余數(shù)運(yùn)算得到最大公約數(shù) 如果 max小于 min,通過(guò)交換,使 max為兩數(shù)中較大的數(shù) 用 min存儲(chǔ)每次求得的余數(shù)