VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 132|回复: 3

[已解决]排序问题(菜)

[复制链接]
66_avatar_middle
最佳答案
0 
在线会员 发表于 2020-3-10 21:18:23 | 显示全部楼层 |阅读模式
#include<iostream>
using namespace std;
#define N 10
void main() {
        int a[N] = { 5, 8, 9, 0, 2, 1, 4, 7, 6, 3 }, i, j, k;
        for (i = N-1; i >0; i--) {                                          //循环N-1次
                for (j = i - 1; j>0; j--)                                  //第i个元素和之后的每个元素进行比较
                        if (a[i]<a[j]) {                                         //如果发现比后面的元素大就交换过来,最后只保存最小的
                                k = a[i]; a[i] = a[j]; a[j] = k;         //交换a[i]和a[j]中保存的数
                        }
        }
        for (i = N-1; i >0; i--) cout << a[i] << " "; cout << endl;
}

原来是按从小到大的顺序排列的,但我想从大到小排列(如上),结果输出的是:9 8 7 6 4 3 2 1 0

为什么没有5?换了好多地方还是没找到问题,向大佬萌求助!!排序问题(菜)
最佳答案
92_avatar_small
2020-3-10 23:23:14
给 等号 都加上就可以了

  1. #define N 10
  2. int main(void)
  3. {
  4.         int a[N] = { 5, 8, 9, 0, 2, 1, 4, 7, 6, 3 }, i, j, k;
  5.         for (i = N - 1; i >= 0; i--) {                                          //循环N-1次
  6.                 for (j = i - 1; j >= 0; j--)                                  //第i个元素和之后的每个元素进行比较
  7.                         if (a[i] < a[j]) {                                         //如果发现比后面的元素大就交换过来,最后只保存最小的
  8.                                 k = a[i]; a[i] = a[j]; a[j] = k;         //交换a[i]和a[j]中保存的数
  9.                         }
  10.         }
  11.         for (i = N - 1; i >= 0; i--) cout << a[i] << " "; cout << endl;

  12.         return 0;
  13. }
复制代码


排序问题(菜)




上一篇:VS2015编译生成exe后,如何自动生成该exe依赖的dll文件
下一篇:Visual Studio 2013不能装在win7系统吗?
92_avatar_middle
最佳答案
9 
在线会员 发表于 2020-3-10 23:23:14 | 显示全部楼层    本楼为最佳答案   
bestAnswer
给 等号 都加上就可以了

  1. #define N 10
  2. int main(void)
  3. {
  4.         int a[N] = { 5, 8, 9, 0, 2, 1, 4, 7, 6, 3 }, i, j, k;
  5.         for (i = N - 1; i >= 0; i--) {                                          //循环N-1次
  6.                 for (j = i - 1; j >= 0; j--)                                  //第i个元素和之后的每个元素进行比较
  7.                         if (a[i] < a[j]) {                                         //如果发现比后面的元素大就交换过来,最后只保存最小的
  8.                                 k = a[i]; a[i] = a[j]; a[j] = k;         //交换a[i]和a[j]中保存的数
  9.                         }
  10.         }
  11.         for (i = N - 1; i >= 0; i--) cout << a[i] << " "; cout << endl;

  12.         return 0;
  13. }
复制代码


排序问题(菜)

评分

参与人数 1驿站币 +2 热心值 +2 收起 理由
58_avatar_small thzzl + 2 + 2 很给力!

查看全部评分

66_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2020-3-11 20:22:40 | 显示全部楼层
BreakPoint 发表于 2020-3-10 23:23
给 等号 都加上就可以了

感谢!太粗心了
80_avatar_middle
最佳答案
0 
在线会员 发表于 2020-3-11 20:26:06 | 显示全部楼层
我需要积分
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号 )|网站地图wx_jqr

GMT+8, 2020-7-6 01:53

Powered by CcTry.CoM

© 2009-2020 cctry.com

快速回复 返回顶部 返回列表