若要按从大到小给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),画出程序框图. |
最新试题
热门考点