|
#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?换了好多地方还是没找到问题,向大佬萌求助!!
给 等号 都加上就可以了
- #define N 10
- int main(void)
- {
- 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;
- return 0;
- }
复制代码
|
上一篇: VS2015编译生成exe后,如何自动生成该exe依赖的dll文件下一篇: Visual Studio 2013不能装在win7系统吗?
|