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

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

题型:不详难度:来源:
若要按从大到小给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.
解析
本题常见错误:第一步,输入7,5,9,3,10;第二步比较这五个数的大小;第三步输出排序后的5个数,这样就不符合计算机语言的特点.算法是让计算机理解的语言,上述操作计算机是无法做到的.本题可以先通过已知几个数之间的比较把其中的最大值设为a1,再求剩下几个数的最大值,设为a2,依次进行下去,最后按序输出即可.
举一反三
如图所示,有一城市,市区为半径为15 km的圆形区域,近郊区为距中心15—25 km范围内的环形地带,距中心25 km以外的为远郊区.市区地价每公顷100万元,近郊区地价每公顷60万元,远郊区地价为每公顷20万元,输入某一点的坐标为(x,y),求该点的地价.请设计出相应的程序框图.
题型:不详难度:| 查看答案
已知A(x1,y1),B(x2,y2),写出求直线AB的斜率的一个算法.
题型:不详难度:| 查看答案
任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在,画出这个算法的程序框图.
题型:不详难度:| 查看答案
求4+(共10个4),画出程序框图.
题型:不详难度:| 查看答案
画出求a,b中的较大数的程序框图.
题型:不详难度:| 查看答案
最新试题
热门考点

超级试练试题库

© 2017-2019 超级试练试题库,All Rights Reserved.