【具体要求】
今天是星期五,班主任老师提前跟同学们说好,今天组织大家去电影院看一场历史革命主题的电影。
来到电影院,全班 n 位同学已经排成一队,班主任老师请班长小蓝根据同学们的身高进行从低到高排序,方便观影。
小蓝思考了一下,决定采取以下策略来排队,比较相邻两位同学的身高,将身高低一点的调整到前面,直到所有同学有序排队。
为防止混乱,规定只能相邻的两位同学可调整位置,请问最少需要多少次交换才能完成从小到大排序。
输入共两行,第一行输入一个正整数 n(3 < n < 100),表示全班同学人数;
第二行输入 n 个正整数 a1, a2, ... an(1 < ai <= 200),表示正在排队中的同学身高,正整数之间一个空格隔开。
输出一个正整数,表示最少需要多少次交换才能完成从小到大排序。
4 150 154 149 162
2
本题共有五组测试数据,每通过一组测试数据得 10 分,满分 50 分。
蓝桥等考 C++组单选题样题(十三级)
已知整型数组 a[5] = {3, 1, 2, 4, 5},最少经过( )次比较可以找出数组中最大的数和最小的数。
A 6
B 7
C 8
D 9
【答案】A
【解析】声明两个整型变量,maxn 存储最大值,minn 存储最小值,第一次 3 和 1 比较,maxn = 3, minn = 1,第二次 2 和 4 比较,第三次较大的 4 和 maxn 比较,maxn = 4, 第四次 2 和 minn 比较,minn = 1,第五、六次分别拿最后一个数 5 和 maxn、minn 比较,最后得到 maxn = 5,minn = 1。
蓝桥等考 C++组编程题样题(十三级)