C语言 简单的从大到小排序问题

题目要求在一个长度为N的数组中 从大到小排序 自己写了一个 思路是:先把第一个数和后面的每个数比较 ,如果后面就数比第一个数大, 就把他和第一个数交换 这样第一轮下来 ,第一个数就是最大的了,然后再把第二个数和后面的每个数比较 ,如果有数比第二个大 ,就交换 后面的以此类推。感觉思路不错 可是放到程序运行就错了 为什么呢?别的排序法我知道,我就想知道我写的这个有什么地方出错了,初学望前辈解答!

这是冒泡排序法。

第一个循环的控制变量应该是 i < N - 1 ,也就是 两两比较的 前一个数 最多只到 倒数第二个;

而 第二个 循环的控制变量应该是  j < N ,表示 两两比较的后一个数, 要直到最后一个数。

如有帮助,烦请点采纳,谢谢!

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网