【题目】若要按从大到小给7,5,9,3,10五个数排序,试写出算法.


参考答案:

【答案】见解析.

【解析】试题分析:输入 ,依次用 与其余各数比较,若大于其余各数,则最大,令 ,否则,拿那个比大的数继续与剩下的数比较,按此法则进行下去,直到最后一个数也参与了比较,这样最后得到的数就是最大数,令它为;剩下的四个数继续按照以上程序进行,再循环剩余三个数,依次循环下去即可得结果.

试题解析:S1 a=7,b=5,c=9,d=3,e=10;

S2 依次用a与其余各数比较,若a大于其余各数,则a最大,令a1=a,否则,拿那个比a大的数继续与剩下的数比较,按此法则进行下去,直到最后一个数也参与了比较,这样最后得到的数就是最大数,令它为a1;

S3 剩下的四个数继续按照S2的法则得到最大数,令它为a2;

S4 剩下的三个数继续按照S2的法则得到最大数,令它为a3;

S5 剩下的最后两个数进行比较,较大者设为a4,较小者设为a5;

S6 输出a1,a2,a3,a4,a5.

关闭