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

题目要求在一个长度为N的数组中从大到小排序自己写了一个思路是:先把第一个数和后面的每个数比较,如果后面就数比第一个数大,就把他和第一个数交换这样第一轮下来,第一个数就是最... 题目要求在一个长度为N的数组中 从大到小排序 自己写了一个 思路是:先把第一个数和后面的每个数比较 ,如果后面就数比第一个数大, 就把他和第一个数交换 这样第一轮下来 ,第一个数就是最大的了,然后再把第二个数和后面的每个数比较 ,如果有数比第二个大 ,就交换 后面的以此类推。感觉思路不错 可是放到程序运行就错了 为什么呢?别的排序法我知道,我就想知道我写的这个有什么地方出错了,初学望前辈解答! 展开
 我来答
拥抱Linux
2019-03-22 · 知道合伙人教育行家
拥抱Linux
知道合伙人教育行家
采纳数:418 获赞数:2160
大学的校级奖学金,机械行业十年工作经验

向TA提问 私信TA
展开全部

这是冒泡排序法。

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

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

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

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式